RPC系统(如Twitter的Finagle)和企业服务总线(如Mule)之间有什么区别?他们每个人都善于解决什么样的问题? 我将尝试回答这个问题作为一个简单的解释,而不是功能的技术细分: 可以说Fi
可以说Finagle是一个异步消息传递库,它允许服务在支持多种协议的同时自由连接(不与架构系统集成标准紧密相关).
来自Finagle网站:
Finagle is a network stack for the JVM that you can use to build asynchronous Remote Procedure Call (RPC) clients and servers in Java, Scala, or any JVM-hosted language. Finagle provides a rich set of protocol-independent tools.
另一方面,企业服务总线(ESB)是一种异步消息传递体系结构,通常遵循行业标准和协议. ESB提升了一个系统,在该系统中,消息流在系统之间进行控制和路由,服务器可以在其中注册其服务,客户端可以注册他们感兴趣的消息.服务器提供的服务可以注册和版本化.
您通常会发现Finagle被用于网站和后端服务之间.但是,您通常会在大型企业内部找到ESB,负责集成财务,支持,销售等系统.
这两种解决方案都为各种扩展提供异步消息传递和缓冲,但不是为解决同样的问题而设计的.对于ESB,您可能会认为“严格,企业”,但对于Finagle,您可能会认为“灵活,网络”.
希望这可以帮助
更新:
不太相关,但如果你正在探索这个空间,我会看看这些天Kafka.