The difference between the SOA – RPC system and the enterprise service bus

What is the difference between an RPC system (such as Twitter’s Finagle) and an enterprise service bus (such as Mule)? What kind of problems are each of them good at solving?
I will try to answer this question as a simple explanation, not a technical breakdown of features:

< /p>

It can be said that Finagle is an asynchronous messaging library, which allows services to be connected freely while supporting multiple protocols (not closely related to architecture system integration standards).

From the Finagle website:

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.

On the other hand, the Enterprise Service Bus (ESB) is an asynchronous messaging architecture that usually follows industry standards and protocols ESB promotes a system in which message flows are controlled and routed between systems, where servers can register their services, and clients can register messages they are interested in. Services provided by the server can be registered and versioned .

You usually find Finagle is used between the website and the back-end service. However, you usually find the ESB inside a large enterprise, which is responsible for integrating financial, support, sales and other systems.

Both solutions provide asynchronous messaging and buffering for various extensions, but are not designed to solve the same problem. For ESB, you might think “strict, enterprise”, but for Finagle, you might Would think “flexible, network”.

hope this can help

update:

Not very relevant, but if you are exploring this space, I will watch Look at Kafka these days.

What is the difference between an RPC system (such as Twitter’s Finagle) and an enterprise service bus (such as Mule)? What kind of problems are each of them good at solving?

I will try to answer this question as a simple explanation, not a technical breakdown of functions:

It can be said that Finagle is an asynchronous Messaging library, which allows services to connect freely while supporting multiple protocols (not closely related to architecture system integration standards).

From the Finagle website:

< blockquote>

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.

On the other hand, the enterprise service bus (ESB) is an asynchronous messaging architecture that usually follows industry standards and protocols. ESB promotes a system in which, The message flow is controlled and routed between systems, the server can register its services in it, and the client can register the messages they are interested in. The services provided by the server can be registered and versioned.

You will usually find Finagle is used between the website and back-end services. However, you will usually find an ESB inside a large enterprise, which is responsible for integrating financial, support, sales and other systems.

Both solutions are various The extension provides asynchronous messaging and buffering, but it is not designed to solve the same problem. For ESB, you might think “strict, enterprise”, but for Finagle, you might think “flexible, network”.

Hope this helps

Update:

Not very relevant, but if you are exploring this space, I will look at Kafka these days.

Leave a Comment

Your email address will not be published.