小编Gor*_*Osa的帖子

Finagle和Akka,为什么不一起使用它们?

我在练习中没有使用过Finagle和Akka,但我一直在阅读很多关于它们的内容.

Finagle是一个RPC系统而Akka是高度并发应用程序的工具包,为什么所有人都将它们作为两个可能无法一起使用的可能解决方案进行比较?我所做的所有搜索建议使用其中一个,没有人建议一起使用它们.

例如,Finagle有一种通过thrift和IDL定义端点的非常有趣的方法.使用此IDL,我们可以定义自定义端点,并通过scooge或任何代码生成工具,可以毫不费力地使用服务.此外,还会创建连接到此服务的客户端,并自动解决许多常见的客户端问题(重新连接,超时,重试,负载平衡,连接池,...).

相反,Akka解决了许多并发问题,并且在没有手动控制线程的所有复杂性的情况下,它可以非常好地扩展.

总结一下,为什么不一起使用它们?:

  • Finagle + Thrift(及其IDL):它有助于服务设计和开发以及部署(包括易于扩展).
  • Akka:它通过其Actor系统使用所有服务器功能,如果我更改服务器属性,它会非常好地扩展(例如,如果它部署在EC2上,我将我的节点从m1.small转换为m1.large).

你怎么看?

注意:假设映射Futures和Promises的问题已得到解决,以及FuturePools和ExecutionContexts之间的不匹配.模式是将Finagle转换为使用Futures的scala方式.

scala akka finagle twitter-finagle

18
推荐指数
1
解决办法
5899
查看次数

标签 统计

akka ×1

finagle ×1

scala ×1

twitter-finagle ×1