今天介绍的是基于 ngx_lua 的动态服务路由,是整个容器化过程中的一个组件。容器化在服务路由这一块有很大的挑战,又拍云通过自己的一些方案去解决它,而且这个方案也会开源出来,如果大家以后也碰到这样的问题,可以直接用这个方案。
在更新服务的时候,怎么能做到让自己的服务不断掉,又拍云做更新的时候,不允许有失败,如果说因为我们的失败而导致请求失败,即使你的请求非常少,首先从口碑上就很不好;另外一个原因:如果造成了事故,是要赔钱的。这也是我们做动态服务路由的重要原因。
说到服务路由,大家都会想到三个方面:
服务注册、服务发现、负载均衡,服务注册说的是服务提供者在起来的时候,得去服务发现注册一下,以表明我提供了的服务、端口、 IP 是多少,服务名又是什么。
服务发现就是一个集中管理服务的地方,上面记录了有哪些服务,它们在哪些地方。
负载均衡,因为有很多同样的容器提供了同样的一个服务,怎么在这些容器里做负载均衡,也是要考虑的。
服务发现有很多方案, ETC 跟 Consul 算是后起之秀,比较常见……
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.