cassem

所属分类:数据库系统
开发工具:GO
文件大小:0KB
下载次数:0
上传日期:2021-11-26 02:18:07
上 传 者sh-1993
说明:  (WIP)分布式配置中心应用程序。,
((WIP) A distributed Configuration Center Application.,)

文件列表:
.deploy/ (0, 2021-11-25)
.deploy/dockerfiles/ (0, 2021-11-25)
.deploy/dockerfiles/cassemadm.Dockerfile (700, 2021-11-25)
.deploy/dockerfiles/cassemagent.Dockerfile (714, 2021-11-25)
.deploy/dockerfiles/cassemdb.Dockerfile (693, 2021-11-25)
.deploy/k8s/ (0, 2021-11-25)
.deploy/k8s/cassemadm.yaml (1427, 2021-11-25)
.deploy/k8s/cassemagent.yaml (0, 2021-11-25)
.deploy/k8s/cassemdb.yaml (2805, 2021-11-25)
.deploy/k8s/configmap.yaml (1307, 2021-11-25)
.deploy/k8s/namespace.yaml (55, 2021-11-25)
.dockerignore (45, 2021-11-25)
Dockerfile (75, 2021-11-25)
LICENSE (1063, 2021-11-25)
Makefile (4259, 2021-11-25)
api/ (0, 2021-11-25)
api/agent/ (0, 2021-11-25)
api/agent/Makefile (260, 2021-11-25)
api/agent/cassemagent.api.pb.go (37149, 2021-11-25)
api/agent/cassemagent.api.pb.validate.go (31988, 2021-11-25)
api/agent/cassemagent.api.proto (2539, 2021-11-25)
api/agent/client.go (6863, 2021-11-25)
api/agent/helper.go (596, 2021-11-25)
api/concept/ (0, 2021-11-25)
api/concept/Makefile (175, 2021-11-25)
api/concept/acl.pb.go (13013, 2021-11-25)
api/concept/acl.pb.validate.go (11873, 2021-11-25)
api/concept/acl.proto (1108, 2021-11-25)
api/concept/coordinator.go (4450, 2021-11-25)
api/concept/coordinator_acl.go (10046, 2021-11-25)
api/concept/coordinator_acl_test.go (2430, 2021-11-25)
api/concept/coordinator_adm_agg.go (761, 2021-11-25)
api/concept/coordinator_agent_agg.go (548, 2021-11-25)
api/concept/coordinator_agent_hybrid.go (3791, 2021-11-25)
api/concept/coordinator_ins_hybrid.go (7251, 2021-11-25)
api/concept/coordinator_kv_r.go (6717, 2021-11-25)
... ...

# cassem

[![Go Report Card](https://goreportcard.com/badge/github.com/yeqown/cassem)](https://goreportcard.com/report/github.com/yeqown/cassem) [![go.de │ v reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white&style=flat-square)](https://pkg.go.dev/github.com/yeqown/cassem) `CASSEM` is a distributed config management center, it is totally independent, so it's easy to deploy and maintain in your environment. At the same time, it's deployed by `Go` which gives it platform-cross ability and fast-compile. ## Features - [x] HTTP Restful API to manage all configs `cassemadm`. - [x] Stateless so that it can be easily scaled. - [x] Gray released. - [x] Multi-version management. - [ ] Operation log, each operation to config elements will be recorded. - [x] Permission control. - [x] Client instance management. - [ ] `CTL` / `UI` tool support these are constructing on `cassemadm` RESTful API. - [ ] [Web UI](https://github.com/yeqown/cassem-ui) is developing. - [ ] [CTL](#) tool to debug and manage config from terminal. - [x] Distributed storage component `cassemdb`, based on raft consensus algorithm. - [x] Master can read and write. - [x] Slave node can only respond to read request. - [x] Use `gRPC` protocol to communicate. - [x] `Watch` `TTL` features support. - [ ] `Lazy Deletion` the expired KV. There is a deleting working thread to delete KV from queue, the queue's data is from two part, one is `operation check`, another is `timer check`. - [x] Stateless agent component `cassemagent` to improve client's usability. - [x] Cache config elements, and using `LRU-K` replacing algorithm. - [ ] Language independent support `HTTP` and `gRPC` protocol. - [x] Client SDK, easy to use. - [x] `Change Push` ability, gray released also built on this. ## [Documentation](./docs/README.md) Explanation: - **_cassemdb_** provide KV storage capacity. - **_cassemadm_** is the manager to whole cassem application. - **_cassemagent_**‘s major duty is helping clients to access config easier, makes cassemdb work transparently to clients. Importantly, cassemagent is stateless so that it could easily scale up and load balance. ### - [cassemdb](./cmd/cassemdb/README.md) The KV storage component in cassem, provide gRPC API. ### - [cassemadm](cmd/cassemadm/README.md) The manager in cassem, provide RESTful API to communicate. It is serving for CTL and Dashboard UI. ### - [cassemagent](cmd/cassemagent/README.md) Agent is serving for user's client, agent SDK, actually. Of course, agent is stateless server. ## [Benchmark](./benchmark) benchmark tested core RESTful API and try to optimize them, each benchmark test displays the final QPS result. ## References * https://github.com/yongman/leto * https://github.com/laohanlinux/riot

近期下载者

相关文件


收藏者