Skip to content

isold23/HAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

HAS

has(high availability service), 基于zookeeper开发的有状态服务的高可用基础组件。将业务服务抽象为4类服务, 分别为常驻内存服务(7*24)的有状态服务和无状态服务, 定时任务的有依赖服务和无依赖服务。has基础组件支持这4类抽象服务的高可用,业务服务在进行很小的改动下就可以具备高可用的能力。has组件支持C/C++、JAVA等shell脚本可以启动的任何服务。

系统架构

image

常驻内存服务(7*24)

业务服务需要提供7*24小时不间断业务功能支持, 当出现硬件或者软件故障的情况下, 服务可以在秒级的时间内完成新服务的启动,充分保证服务的高可用。

有状态

可以为数据状态, 服务启动需要特定的数据才可以启动,比如:DTS服务, 启动时需要获取数据同步的开始位置, 当服务出现故障的情况下,可以从最新的数据位置继续提供数据同步,数据订阅服务。

无状态服务

服务运行可以随起随止, 没有任何依赖。只需检测到master服务挂掉即可, 再秒级的时间单位内将slave服务唤醒。

定时任务

有依赖服务

无依赖服务

应用

HAS超时配置要大于业务服务停止时间, 否则有可能出现脑裂问题。

About

HAS(high availability system), 基于zookeeper开发的有状态服务的高可用基础组件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages