限时 5折! 详情
本文档最新版为 hyperf 3.0 ,旧版本可能放弃维护,推荐阅读最新版!

hyperf 服务注册与发现之初识 consul

3434 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目前(v2.2)还只支持consul和nacos,但官方也提供了对其他服务中心的自定义支持。希望大家在学习consul的时候主要学习下其编程思想以及架构思想。

hyperf 引入consul之后,服务启动时,服务提供者会向consul服务中心注册,即是服务注册;消费者远程调用服务时,会向consul获取注册信息,且同时发

继续阅读

还有76%的精彩内容,购买继续阅读