我将使用Scala和Akka设计分布式系统。我想从集群聚合跟踪消息,并有可能在某种UI中查看它们。 Zipkin是最好的解决方案,还是Flume(+一些包装?),还是其他什么?
答案 0 :(得分:8)
Zipkin是最好的解决方案。
- zipkin开发者
编辑 - 好的,这是一个严肃的答案:
Zipkin是一个由Twitter开发的分布式跟踪系统,因为我们面向服务的架构非常庞大,以至于很难理解WTF在任何给定的请求中都会发生。说真的,这里是Zipkin中所有服务依赖关系的可视化:
你的平台这么激烈吗?你应该使用zipkin。我有没有提到它是我见过的最好的缩放系统之一?它没有跟上Twitter级负载的问题,如果你那么大,那对你来说可能很重要。
你说的是什么?你没有Twitter那么大?您只有三个服务:Web前端,某种中间件和数据库后端?也许zipkin对你来说有点矫枉过正。我们已经完成了一些工作,使设置更容易,但我的工作不是为了让你轻松制作zipkin,而是为了让Twitter的zipkin很棒。
尽管如此,如果你计划扩展scala,与Finagle等的推特堆栈是非常好的。不要让所有来自Typesafe的福音传教士欺骗你。当您尝试将其部署在大规模架构中时,它们的堆栈存在一些严重的缺陷。但同样,我们的工作不是告诉你我们的堆栈有多好,甚至可以帮助你使用它。这是为了让我们的筹码真棒。