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
- HTTP Restful API to manage all configs
cassemadm
.
- Stateless so that it can be easily scaled.
- Gray released.
- Multi-version management.
- Operation log, each operation to config elements will be recorded.
- Permission control.
- Client instance management.
-
CTL
/ UI
tool support these are constructing on cassemadm
RESTful API.
- Web UI is developing.
- CTL tool to debug and manage config from terminal.
- Distributed storage component
cassemdb
, based on raft consensus algorithm.
- Master can read and write.
- Slave node can only respond to read request.
- Use
gRPC
protocol to communicate.
-
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
.
- Stateless agent component
cassemagent
to improve client's usability.
- Cache config elements, and using
LRU-K
replacing algorithm.
- Language independent support
HTTP
and gRPC
protocol.
- Client SDK, easy to use.
-
Change Push
ability, gray released also built on this.
The KV storage component in cassem, provide gRPC API.
The manager in cassem, provide RESTful API to communicate. It is serving for CTL and Dashboard UI.
Agent is serving for user's client, agent SDK, actually. Of course, agent is stateless server.
benchmark tested core RESTful API and try to optimize them, each benchmark test displays the final QPS result.
References