diff --git a/SUMMARY.md b/SUMMARY.md index 9fa6bf2..55b6244 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -50,6 +50,7 @@ * [5.7. Layout大型web项目分层](ch5-web/ch5-07-layout-of-web-project.md) * [5.8. interface 和 table-driven 开发](ch5-web/ch5-08-interface-and-web.md) * [5.9. 灰度发布和 A/B test](ch5-web/ch5-09-gated-launch.md) + * [5.9. 灰度发布和 A/B test](ch5-web/ch5-10-service-discovery.md) * [5.11. Load-balance负载均衡](ch5-web/ch5-11-load-balance.md) * [第六章 分布式系统](ch6-cloud/readme.md) * [6.1. 云上地鼠(TODO)](ch6-cloud/ch6-01-cloud.md) diff --git a/ch5-web/ch5-10-service-discovery.md b/ch5-web/ch5-10-service-discovery.md index 18b1f38..808e3e6 100644 --- a/ch5-web/ch5-10-service-discovery.md +++ b/ch5-web/ch5-10-service-discovery.md @@ -132,15 +132,23 @@ ls /platform/order-system/create-order-service-http 当与 zk 断开连接时,注册在该节点下的临时节点也会消失,即实现了服务节点故障时的被动摘除。 -## 基于 zk 实现服务发现 +目前在企业级应用中,上述几种故障摘除方案都是存在的。读者朋友可以根据自己公司的发展阶段,灵活选用对应的方案。需要明白的一点是,并非一定要有 zk、etcd 这样的组件才能完成故障摘除。 -该事件也会通知 watch 该节点的所有监视方。 +## 基于 zk 的完整服务发现流程 -用代码来实现一下上面的几个逻辑: +节点故障断开 zk 连接时,zk 会负责将该消息通知所有监听方。 + +用代码来实现一下上面的几个逻辑。 + +### 临时节点注册 ```go ``` -有了临时节点、监视功能、故障时的自动摘除功能,我们实现一套服务发现以及故障节点摘除的基本元件也就齐全了。 +### 服务节点获取 -目前在企业级应用中,上述几种故障摘除方案都是存在的。读者朋友可以根据自己公司的发展阶段,灵活选用对应的方案。需要明白的一点是,并非一定要有 zk、etcd 这样的组件才能完成故障摘除。 +### 消息通知 + +## 总结 + +有了临时节点、监视功能、故障时的自动摘除功能,我们实现一套服务发现以及故障节点摘除的基本元件也就齐全了。