自动化微服务负载平衡/缩放
现在读几天微服务,我想知道人们如何去实现负载均衡自动化和扩展这些东西?
我有一个特定的想法,我想实现,但不知道是否有可能,或者我正在考虑错误。 所以在这里呢…
假设我有一个名为A,B和C的3个CoreOS机器集群
首先我想要的是透明部署,我可以使用舰队。
然后,我想要检测,当其中一个服务负载巨大,部署另一个实例,并部署了一个和第一个,自动负载平衡的方式,不会中断其他服务正在使用它(stream量从现在起经过负载平衡器)。
另一种方式可能是我手动部署服务的其他版本,然后自动进行负载平衡,并将stream量路由器传输到负载平衡器。
那么最后一个问题,这和Akka集群有什么不同呢?这些与微服务有什么不同呢?
在我看来,在你问的问题中,你的回答有一个提示:“(stream量从现在开始通过负载平衡器)”。
我会说 – 交通应该总是通过负载平衡器 。
在你最简单的情况下,当你有每个服务的1个实例,它仍然需要通过负载平衡器(顺便说一句,我认为至less有2个是一个好主意)。
在这种情况下,当您获得3倍的stream量,并想要启动另一个相同服务的容器时,一旦容器启动并运行,它必须在服务发现工具中注册自己,并自动更新负载平衡器configuration以添加新的“上游”条目。
然后使用这种方法,您将能够更轻松地扩大/缩小您的服务。