camellia framework(中文版)
Camellia is originally develop as basic architecture for netease-yunxin's servers,all the modules is running in netease-yunxin's online-env.
high performance redis-proxy:
- base on netty4, support redis-standalone/redis-sentinel/redis-cluster
- support GET/SET/EVAL, support MGET/MSET, support blocking BLPOP, support PUBSUB/TRANSACTION, support STREAMS/JSON/SEARCH, support TAIR_HASH/TAIR_ZSET/TAIR_STRING
- support sharding/read-write-separate/double-write on proxy
- support multi-route-conf
- support tps/rt/big-key/hot-key/slow-command monitor
- support custom command interceptor, support hot-key-cache(GET command),support value converter and so on
QUICK START
provide some id gen algorithm:
- snowflake, support setting region tag
- strict-increment id-gen
- db-segment id-gen, support setting region tag
QUICK START
delay queue base on redis:
- independent deployment of delay-queue-server, scale out, support multi-topic, support http-api
- provide java-sdk, support spring-boot-starter
- provide monitor data
QUICK START
hot key detect and cache:
- support hot key detect, hot key cache, hot key topN stats
- support custom hot-key-config、hot-key-callback、hot-key-topN-callback、hot-key-cache-stats-callback
- support custom registry, such as eureka、zk and so on
- provide monitor data
QUICK START
- base on camellia-core and jedis(2.9.3),main class is CamelliaRedisTemplate, can invoke redis-standalone/redis-sentinel/redis-cluster in identical way,support pipeline
- support client sharding/read-write-separate/double-write
- support read from slave(redis-sentinel)
- provide CamelliaRedisLock、CamelliaFreq utils
QUICK START
- base on camellia-core and hbase-client,main class is CamelliaHBaseTemplate
- support client read-write-separate/double-write
QUICK START
join camellia-core and open-feign, so your feign-client have this feature:
- support dynamic route
- support custom route by request param
- support custom load balance policy by request param
- support read-write-separate/double-write
- support dynamic conf, such like timeout
QUICK START
base on spring-cache:
- support redis, support local-cache(Caffeine)
- support mget/mevict by annotation
- support setting different ttl, support setting cache null value
- support custom serialize/deserialize, default use jackson, support cache value compress
- support dynamic cache clear by update cache key prefix
QUICK START
provide some simple and practical tools, like:
- compress
- encrypt
- thread pool
- distribution lock
- circuit breaker
- ......
QUICK START
latest version is 1.2.9, have deploy to maven central repository on 2023/06/02
CHANGE_LOG
If you are using Camellia and feel it helps or you'd like to do some contributions, please add your company to user list and let us know your needs
wechat-id: hdnxttl
email: zj_caojiajun@163.com