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

 手机用户2602891751 发布于 2023-02-13 16:18

我在练习中没有使用过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方式.

1 个回答
  • 你是正确的,服务发现和服务实现是正交问题,我可以遵循你的论点关于使用Finagle为前者和Akka为后者.你原则上可以将两者结合使用而不寻求期货的大统一,因为你只需要在一条消息中将服务的回复发送回请求的Actor,即你需要添加你自己的小" pipeTo "模式. Twitter期货.

    2023-02-13 16:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有