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

Gorka Lerchundi Osa

我没有在实践中使用过Finagle或Akka,但是我已经阅读了很多有关它们的内容。

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

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

相反,Akka解决了许多并发性难题,并且伸缩性非常好,而没有手动控制线程的所有复杂性。

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

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

你有什么感想?

注意:假定映射期货和承诺的问题已解决,并且FuturePools和ExecutionContexts之间不匹配。模式将是将Finagle转换为使用Future的scala方法。

罗兰·库恩

您是正确的,因为服务发现和服务实现是相互关注的问题,我可以遵循您的论点,即对前者使用Finagle,对后者使用Akka。原则上,您可以将两者一起使用而无需寻求期货的全面统一,因为您只需要在消息中将服务的答复发送回请求的Actor,即,您需要在自己的基础上添加自己的小“ pipeTo ”模式。 Twitter期货。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

静态,constexpr,const-一起使用它们是什么意思?

来自分类Dev

为什么AOP和DI很少一起使用

来自分类Dev

为什么MockMVC和Mockito不能一起使用?

来自分类Dev

为什么filter和rowSums不能一起使用?

来自分类Dev

SFINAE和衰变不能一起使用。为什么?

来自分类Dev

为什么不将向量和列表一起使用?

来自分类Dev

为什么 HHVM 和 NGINX 一起使用?

来自分类Dev

为什么HMR和chunkhash不能一起使用?

来自分类Dev

为什么与使用char一起使用forward_list比长时间使用它要优化得多?

来自分类Dev

为什么以margin 0为中心自动与display:block一起使用,但与display:inline-block不一起使用?

来自分类Dev

什么是位图和位工厂,为什么人们将其与动画一起使用?

来自分类Dev

如果只给它们分配null,为什么允许将const与引用类型一起使用?

来自分类Dev

为什么使用扩展语法可与基元和函数一起使用?

来自分类Dev

什么是部分:和路径:在 sapui5 中,为什么使用它们?

来自分类Dev

内部类和公共构造函数-为什么它与Activator.CreateInstance一起使用?

来自分类Dev

为什么MongoDB不再允许将$ set和$ unset与空文档一起使用?

来自分类Dev

在将maplist与lambda和tilde项一起使用时,为什么存在无限循环?

来自分类Dev

为什么将余弦相似度和TF-IDF一起使用?

来自分类Dev

为什么选择范围和弹出窗口不能在javascript中一起使用?

来自分类Dev

为什么不能将@PostConstruct和@Retryable一起使用?

来自分类Dev

为什么Intl.NumberFormat无法在Safari和Firefox中与单元一起使用?

来自分类Dev

为什么Bootstrap行和列不能与车把一起使用?

来自分类Dev

为什么inline-block和max-width不能一起使用?

来自分类Dev

为什么企业会一起使用Struts 1和Spring

来自分类Dev

为什么不能将字段与getField()和setField()一起使用?

来自分类Dev

为什么const char *无法与boost的stringstream和read_json一起使用?

来自分类Dev

为什么这个数组和 foreach 不能与 mysqli 一起使用?

来自分类Dev

我可以将CRTP与多个派生类一起使用,并以多态方式使用它们吗?

Related 相关文章

  1. 1

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

  2. 2

    静态,constexpr,const-一起使用它们是什么意思?

  3. 3

    为什么AOP和DI很少一起使用

  4. 4

    为什么MockMVC和Mockito不能一起使用?

  5. 5

    为什么filter和rowSums不能一起使用?

  6. 6

    SFINAE和衰变不能一起使用。为什么?

  7. 7

    为什么不将向量和列表一起使用?

  8. 8

    为什么 HHVM 和 NGINX 一起使用?

  9. 9

    为什么HMR和chunkhash不能一起使用?

  10. 10

    为什么与使用char一起使用forward_list比长时间使用它要优化得多?

  11. 11

    为什么以margin 0为中心自动与display:block一起使用,但与display:inline-block不一起使用?

  12. 12

    什么是位图和位工厂,为什么人们将其与动画一起使用?

  13. 13

    如果只给它们分配null,为什么允许将const与引用类型一起使用?

  14. 14

    为什么使用扩展语法可与基元和函数一起使用?

  15. 15

    什么是部分:和路径:在 sapui5 中,为什么使用它们?

  16. 16

    内部类和公共构造函数-为什么它与Activator.CreateInstance一起使用?

  17. 17

    为什么MongoDB不再允许将$ set和$ unset与空文档一起使用?

  18. 18

    在将maplist与lambda和tilde项一起使用时,为什么存在无限循环?

  19. 19

    为什么将余弦相似度和TF-IDF一起使用?

  20. 20

    为什么选择范围和弹出窗口不能在javascript中一起使用?

  21. 21

    为什么不能将@PostConstruct和@Retryable一起使用?

  22. 22

    为什么Intl.NumberFormat无法在Safari和Firefox中与单元一起使用?

  23. 23

    为什么Bootstrap行和列不能与车把一起使用?

  24. 24

    为什么inline-block和max-width不能一起使用?

  25. 25

    为什么企业会一起使用Struts 1和Spring

  26. 26

    为什么不能将字段与getField()和setField()一起使用?

  27. 27

    为什么const char *无法与boost的stringstream和read_json一起使用?

  28. 28

    为什么这个数组和 foreach 不能与 mysqli 一起使用?

  29. 29

    我可以将CRTP与多个派生类一起使用,并以多态方式使用它们吗?

热门标签

归档