我打算使用Scala和Akka设计分布式系统。我想从集群中聚合跟踪消息,并有可能在某种UI中查看它们。Zipkin是最好的解决方案吗?还是Flume(+一些包装器)或其他什么东西?
我打算使用Scala和Akka设计分布式系统。我想从集群中聚合跟踪消息,并有可能在某种UI中查看它们。Zipkin是最好的解决方案吗?还是Flume(+一些包装器)或其他什么东西?
Zipkin是最好的解决方案。
--zipkin开发者
编辑 - 好的,我会认真回答:
Zipkin是由Twitter开发的分布式跟踪系统,因为我们的面向服务的架构非常庞大,所以经常很难理解任何给定请求中到底发生了什么。这是真的,以下是在Twitter中所有服务依赖关系的Zipkin可视化:
你的平台也这么复杂吗?你应该使用zipkin。我是否提到它是我见过的最好的扩展系统之一?它毫不费力地跟得上Twitter级别的负载,如果您的规模很大,这可能对您很重要。
你说什么?你没有Twitter那么大?你只有三个服务:一个Web前端,某种中间件和数据库后端?也许Zipkin对你来说有点过度kill。我们已经做了一些工作,使它更容易设置,但实际上我的工作不是为您让Zipkin变得容易,而是为了让Zipkin成为Twitter的杰出系统。
不过,如果您计划扩展Scala,Twitter的Finagle等堆栈是非常出色的。不要让Typesafe的所有布道者欺骗您。当您尝试在大规模架构中部署时,他们的堆栈有一些严重的缺陷。但再说一遍,我们的工作不是告诉您我们的堆栈有多好,甚至不是帮助您使用它。我们的工作是使我们的堆栈变得杰出。