{"id":15020407,"url":"https://github.com/netease-im/camellia","last_synced_at":"2025-05-14T15:08:26.596Z","repository":{"id":37106807,"uuid":"255839456","full_name":"netease-im/camellia","owner":"netease-im","description":"Camellia provide easy-to-use server toolkits, such as: redis proxy、delay queue、id gen、hot key and more","archived":false,"fork":false,"pushed_at":"2025-04-11T09:28:23.000Z","size":69143,"stargazers_count":663,"open_issues_count":36,"forks_count":145,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-13T01:57:31.599Z","etag":null,"topics":["daocache","dbcache","delay-queue","delayqueue","double-write","hot-key","hotkey","id-gen","idgen","idgenerator","netty4","read-write-splitting","redis","redis-cluster-proxy","redis-proxy","redis-sentinel","redisproxy","sharding"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netease-im.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-15T07:32:15.000Z","updated_at":"2025-04-11T09:28:27.000Z","dependencies_parsed_at":"2024-04-02T08:27:09.017Z","dependency_job_id":"5edf6e52-ea85-41ee-9a1a-9297179599f6","html_url":"https://github.com/netease-im/camellia","commit_stats":{"total_commits":2681,"total_committers":29,"mean_commits":92.44827586206897,"dds":0.2868332711674748,"last_synced_commit":"026f9beaec05ed5ff0897c699b0526f8e27a127f"},"previous_names":[],"tags_count":86,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-im%2Fcamellia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-im%2Fcamellia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-im%2Fcamellia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netease-im%2Fcamellia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netease-im","download_url":"https://codeload.github.com/netease-im/camellia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654048,"owners_count":21140235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daocache","dbcache","delay-queue","delayqueue","double-write","hot-key","hotkey","id-gen","idgen","idgenerator","netty4","read-write-splitting","redis","redis-cluster-proxy","redis-proxy","redis-sentinel","redisproxy","sharding"],"created_at":"2024-09-24T19:55:03.025Z","updated_at":"2025-05-14T15:08:26.584Z","avatar_url":"https://github.com/netease-im.png","language":"Java","funding_links":[],"categories":["工具库","Java"],"sub_categories":[],"readme":"# camellia framework（[中文版](README.md)）\nCamellia is originally develop as basic architecture for netease-yunxin's servers，all the modules is running in netease-yunxin's online-env.\n\n\u003cimg src=\"/docs/img/logo.png\" width = \"500\"/\u003e\n \n![GitHub](https://img.shields.io/badge/license-MIT-blue.svg)\n[![GitHub release](https://img.shields.io/github/release/netease-im/camellia.svg)](https://github.com/netease-im/camellia/releases)\n![java_language](https://img.shields.io/badge/java--language-1.8%20%7C%2021-blue.svg)\n[![docker pull](https://img.shields.io/docker/pulls/48n6e/camellia-redis-proxy.svg)](https://hub.docker.com/r/48n6e/camellia-redis-proxy)\n  \n## Summary\n\nCamellia provide easy-to-use server toolkits:\n\n### server\n\n* [redis-proxy](/docs/camellia-redis-proxy/redis-proxy-en.md)\n* [id-generator](/docs/camellia-id-gen/id-gen.md)\n* [delay-queue](/docs/camellia-delay-queue/delay-queue.md)\n* [hot-key](/docs/camellia-hot-key/hot-key.md)\n\n### sdk\n\ncamellia also provide enhanced sdk (based on other open source sdk): \n* [redis-client](/docs/camellia-redis-client/redis-client.md)\n* [hbase-client](/docs/camellia-hbase/hbase-client.md)\n* [feign-client](/docs/camellia-feign/feign.md)\n* [dao-cache](/docs/camellia-cache/cache.md)\n* [tools](/docs/camellia-tools/tools.md)\n\n## Instruction\n\n### camellia-redis-proxy  \nhigh performance redis-proxy:  \n* base on netty4 and java21, support redis-standalone/redis-sentinel/redis-cluster\n* support [twemproxy](https://github.com/twitter/twemproxy) 、[codis](https://github.com/CodisLabs/codis) as the upstream(such as migration scenarios)\n* support [kvrocks](https://github.com/apache/kvrocks) 、 [pika](https://github.com/OpenAtomFoundation/pika) 、 [tendis](https://github.com/Tencent/Tendis)  as the upstream\n* support GET/SET/EVAL, support MGET/MSET, support blocking BLPOP, support PUBSUB/TRANSACTION, support STREAMS/JSON/SEARCH/BloomFilter/CuckooFilter, support TAIR_HASH/TAIR_ZSET/TAIR_STRING\n* all supported commands: [supported_commands](docs/camellia-redis-proxy/supported_commands.md)\n* support sharding/read-write-separate/double-write on proxy  \n* support multi-route-conf   \n* support ssl/tls, both client to proxy and proxy to upstream redis\n* support unix-domain-socket, both client to proxy and proxy to upstream redis\n* support use http to access proxy, like [webdis](https://github.com/nicolasff/webdis) , see: [redis_over_http](/docs/camellia-redis-proxy/other/redis_over_http.md)\n* support tps/rt/big-key/hot-key/slow-command monitor  \n* support disguise as redis-cluster/redis-sentinel for high availability\n* support custom command plugin, support hot-key-cache(GET command)，support value converter and so on    \n[QUICK START](/docs/camellia-redis-proxy/redis-proxy-en.md)  \n\n### camellia-id-gen\nprovide some id gen algorithm:   \n* server require java21, sdk require java8\n* snowflake, support setting region tag\n* strict-increment id-gen\n* db-segment id-gen, support setting region tag         \n[QUICK START](/docs/camellia-id-gen/id-gen.md)\n\n### camellia-delay-queue\ndelay queue base on redis:   \n* server require java21, sdk require java8\n* independent deployment of delay-queue-server, scale out, support multi-topic, support http-api\n* provide java-sdk, support spring-boot-starter\n* provide monitor data    \n[QUICK START](/docs/camellia-delay-queue/delay-queue.md)\n\n### camellia-hot-key\nhot key detect and cache:  \n* server require java21, sdk require java8  \n* support hot key detect, hot key cache, hot key topN stats\n* support custom hot-key-config、hot-key-callback、hot-key-topN-callback、hot-key-cache-stats-callback  \n* support custom registry, such as eureka、zk and so on\n* provide monitor data     \n[QUICK START](/docs/camellia-hot-key/hot-key.md)\n\n\n## Release-Version\nlatest version is 1.3.5, have deploy to maven central repository on 2025/04/14  \n[CHANGE_LOG](/update-en.md)  \n\n## SNAPSHOT-version\nlatest version is 1.3.6-SNAPSHOT  \n```xml\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003esonatype-snapshots\u003c/id\u003e\n    \u003cname\u003eSonatype Snapshot Repository\u003c/name\u003e\n    \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots/\u003c/url\u003e\n    \u003csnapshots\u003e\n      \u003cenabled\u003etrue\u003c/enabled\u003e\n    \u003c/snapshots\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\n## User List\nIf you are using Camellia and feel it helps or you'd like to do some contributions, please add your company to [user list](https://github.com/netease-im/camellia/issues/10) and let us know your needs \n\n## Contact\nwechat-id: hdnxttl  \nemail: zj_caojiajun@163.com\n\n## Stargazers Over Time\n\n[![Stargazers Over Time](https://starchart.cc/netease-im/camellia.svg)](https://starchart.cc/netease-im/camellia) ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetease-im%2Fcamellia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetease-im%2Fcamellia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetease-im%2Fcamellia/lists"}