微服务风格和权衡 - Akka集群与Kubernetes对比

时间:2015-08-19 10:35:06

标签: akka microservices fault-tolerance akka-cluster tradeoff

所以,这就是事情。我非常喜欢微服务的想法,想要在决定是否要在生产中使用它之前进行设置和测试。然后,如果我想要使用它,我想慢慢地将我的旧rails应用程序的碎片切掉并将逻辑移动到微服务。我想我可以使用HAProxy并根据URL设置不同的路由。所以这应该被涵盖。

然后我的下一个最大的担忧是,我不需要太多的开销来确保一切都在基础设施方面顺利运行。我希望低配置,易于开发,测试和部署。

现在,我想知道每种款式的优点和缺点。 Akka(集群)与Kubernetes之类的东西(甚至可能是其上的fabric8)。

我还担心的是容错。我不知道你是如何与Kubernetes一起做的。那么您是否必须包含一些消息队列以确保您的消息不会丢失?如果其中一个队列出现故障,那么还有多个队列?或者只是重试直到队列再次出现?阿卡演员已经有了这个权利吗?重试和邮箱?微服务的容错策略是什么?每种方法都有所不同吗?

有人请赐教! ;)

1 个答案:

答案 0 :(得分:1)

我对Akka知之甚少,但从快速阅读看来它似乎是一个应用程序框架。 Kubernetes处于较低级别。 Kubernetes运行您的容器并为您管理它们。我们没有队列或邮箱的概念。

Kubernetes很快将实现L7负载平衡,因此您可以进行URL映射。

至于容错性 - kubernetes确保您声明的意图是真实的 - 运行此容器的N份副本。该容器可能是一个Akka应用程序,或者可能是mysql - dopes无所谓。

Docker + Akka上有很多指南。 Kubernetes使得管理docker容器更容易,但应用程序仍然是你的:)