文件名称:java8看不到源码-captain:基于redis的服务发现
文件大小:897KB
文件格式:ZIP
更新时间:2024-06-24 12:14:37
系统开源
java8 看不到源码船长——宇宙中最简单的服务发现 Captain 是另一个基于 redis 的服务发现实现。 为了简单和性能,Captain 牺牲了一点高可用性。 大多数情况下,我们没有几万台机器,机器崩溃的可能性非常低,高可用性并不是那么重要。 但是市场上只提供zookeeper/etcd/consul,它们很复杂,至少比captain复杂很多。 建筑学 船长服务器是无状态的,客户端可以连接多个船长服务器。 船长客户端可以同时是服务提供者和服务消费者。 如果所有的船长服务器或redis都关闭,船长客户端会将服务信息保存在本地内存中。 如果只有一个船长服务器关闭,船长客户端会同步其他船长服务器的服务信息。 如果redis master关闭,你可以随时使用web ui动态切换到redis slave。 仔细监控captain server和redis,恢复快,高可用还是可以保证的。 内部的 服务列表作为 sortedset 保存到 redis 中,key 等于 host:port,score 等于 ${now + ttl} Expiring Thread 会定期修剪这个 sorted
【文件预览】:
captain-master
----README_zh.md(5KB)
----src()
--------test()
--------main()
----LICENSE(11KB)
----README.md(5KB)
----pom.xml(3KB)
----captain.ini(103B)
----.gitignore(64B)
----screenshot()
--------all_services.png(41KB)
--------config.png(67KB)
--------weixin.png(392KB)
--------service_list.png(89KB)
--------arch.png(75KB)
--------flow.png(83KB)
--------kv.png(44KB)