module
Version:
v0.0.0-...-07370e6
Opens a new window with list of versions in this module.
Published: Mar 8, 2018
License: MIT
Opens a new window with license information.
README
¶
介绍
dister(Distribution Cluster)是一款轻量级高性能的分布式集群管理软件,实现了分布式软件架构中的常用核心组件,包括:
- 服务配置管理中心;
- 服务注册与发现;
- 服务健康检查;
- 服务负载均衡;
dister的灵感来源于ZooKeeper、Consul、Etcd,它们都实现了类似的分布式组件,但是dister更加的轻量级、低成本、易维护、架构清晰、简单实用、性能高效,这也是dister设计的初衷。
dister是开源的,免费的,基于MIT协议进行分发,开源项目地址(gitee与github仓库保持实时同步): Gitee( https://gitee.com/johng/dister ),Github( https://github.com/johng-cn/dister )
特点
- 开源、免费、跨平台;
- 使用RAFT算法实现分布式一致性;
- 使用通用的REST协议提供API操作;
- 详尽的设计及使用说明文档,易于使用维护;
- 超高读写性能,适合各种高并发的应用场景;
- 使用分布式KV键值存储实现服务的配置管理;
- 支持集群分组,不同的集群之间数据相互隔离;
- 配置管理简单,简化的API接口以及终端管理命令;
安装
- 建议下载预编译好的各平台版本使用,下载地址:https://gitee.com/johng/dists
- (第三方依赖变化较大,目前暂无法编译,新版本开发完成后将会恢复)源码编译安装,需要gf框架的支持,框架地址:https://gitee.com/johng/gf
文档
官方网站:http://johng.cn/dister
相关文档:
- dister的介绍及设计
- dister的安装及使用
- dister的使用示例
- dister的性能测试
计划
v2.00
1. 重新梳理RAFT实现,查看有无进一步的改进空间;
2. 改进binlog设计,全新高可用的binlog文件结构及实现;
3. 使用KV数据存储设计,使用独立的嵌入式KV数据库进行存储;
4. 改进数据同步逻辑,保证节点在数据同步的高可用;
5. 重新梳理、简化、改进服务健康检查业务逻辑;
6. 严格、仔细的功能及性能测试;
v2.10
1. 增加服务的API控制功能(服务注册与发现、服务健康检查);
v2.50
1. 增加Socket接口支持;
贡献
dister是开源的、免费的软件,这意味着任何人都可以为其开发和进步贡献力量。
dister的项目源代码目前同时托管在 Gitee 和 Github 平台上,您可以选择您喜欢的平台来 fork 项目和合并你的贡献,两个平台的仓库将会保持即时的同步。
我们非常欢迎有更多的朋友加入到dister的开发中来,您为dister所做出的任何贡献都将会被记录到dister的史册中。
Directories
¶
src
|
|
dister
高性能的分布式集群管理工具 1、分布式KV数据管理 2、服务注册与发现 3、服务健康检查 4、服务负载均衡
|
高性能的分布式集群管理工具 1、分布式KV数据管理 2、服务注册与发现 3、服务健康检查 4、服务负载均衡 |
dister/dister
封装API常用方法 数据同步需要注意的是: leader只有在通知完所有follower更新完数据之后,自身才会进行数据更新 因此leader 数据同步需要注意的是,必须在节点完成election选举之后才能进行数据通信。
|
封装API常用方法 数据同步需要注意的是: leader只有在通知完所有follower更新完数据之后,自身才会进行数据更新 因此leader 数据同步需要注意的是,必须在节点完成election选举之后才能进行数据通信。 |
|
dister日志模块 顶部索引域:随机数(14bit,固定4位正整数)数据开始位置(43bit,8TB) 数据长度(23bit,8MB) 底部数据域:[消息数据](变长) |
Click to show internal directories.
Click to hide internal directories.