hyperf 服务注册与发现之初识 consul(3.0)
4057
0
0
阅读目录
什么是consul
我们在服务注册与发现一文中了解到 consul 是用来管理服务的。它是 HashiCorp 公司使用 Go 语言开发且开源的分布式服务发现和配置管理系统。
Consul 提供了支持面向服务的体系结构所需的一系列功能。包括服务发现,还包括丰富的运行状况检查,锁定,密钥/值,多数据中心联合,事件系统和 ACL。
Consul 遵循 CAP 原则中的 CP 原则,保证了强一致性和分区容错性。它使用的是 Raft 算法,虽然保证了强一致性,但是可用性就相应下降了,例如服务注册的时间会稍长一些,因为 Consul 的 raft 协议要求必须过半数的节点都写入成功才认为注册成功 ;在leader挂掉了之后,重新选举出leader之前会导致 Consul 服务不可用。
注:raft指的是 Server 节点之间的数据一致性保证协议,大家有个了解就好了。
consul 我们会做重点介绍,我们不仅会介绍 consul 的使用,包括服务集群,源码分析也会详细的跟大家聊聊。在实际的服务中心的实现上,zk(zookeeper的简称)、consul、eurake、nacos 等等都可以作为服务中心,虽然 hyperf 目前(v3.0)还只支持 consul 和 nacos,但官方也提供了对其他服务中心的自定义支持。希望大家在学习 consul 的时候主要学习下其编程思想以及架构思想。
还有76%的精彩内容,购买继续阅读
- 评论区
共0条评论
登录
后发布评论