You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III" <jk...@apache.org> on 2018/06/10 20:42:02 UTC

Thrift for Message Bus(ses)

Hey folks,

Trends in software development are moving us towards more distributed
systems.  Thrift is an excellent tool for point-to-point communication
however it lacks some of the better distribution techniques that a message
bus provides.

Given the excellent separation of concerns in the Thrift architecture,
adding message bus transport support to Thrift would achieve:

   1. A mechanism for one-to-many oneway calls (broadcast!)
   2. A mechanism for one-to-one roundtrip calls directed at a peer
   connected to the bus.
   3. Given Thrift's wide language adoption, it may end up being a good way
   for message bus projects (like Apache Pulsar) to add support for many
   client languages.
   4. It would probably be a good idea to add a more official way to send
   or receive a structure, which is a more typical message bus communication
   paradigm, instead of having to make a RPC that sends the structure.
   5. We really need the ability to issue multiple outstanding requests, a
   long-standing ask, and it would be useful here as well.
   6. Ideally Thrift could evolve so there are no clients or servers - just
   endpoints that can be either at the same time.

Right now most message bus projects appear to leverage protobuf.  They
could leverage Apache Thrift, if we start paving that road.

Thoughts?

- Jim

Re: Thrift for Message Bus(ses)

Posted by Jake Farrell <jf...@apache.org>.
Think its a great idea and easily extendable as you call out

-Jake

On Sun, Jun 10, 2018 at 4:42 PM, James E. King, III <jk...@apache.org>
wrote:

> Hey folks,
>
> Trends in software development are moving us towards more distributed
> systems.  Thrift is an excellent tool for point-to-point communication
> however it lacks some of the better distribution techniques that a message
> bus provides.
>
> Given the excellent separation of concerns in the Thrift architecture,
> adding message bus transport support to Thrift would achieve:
>
>    1. A mechanism for one-to-many oneway calls (broadcast!)
>    2. A mechanism for one-to-one roundtrip calls directed at a peer
>    connected to the bus.
>    3. Given Thrift's wide language adoption, it may end up being a good way
>    for message bus projects (like Apache Pulsar) to add support for many
>    client languages.
>    4. It would probably be a good idea to add a more official way to send
>    or receive a structure, which is a more typical message bus
> communication
>    paradigm, instead of having to make a RPC that sends the structure.
>    5. We really need the ability to issue multiple outstanding requests, a
>    long-standing ask, and it would be useful here as well.
>    6. Ideally Thrift could evolve so there are no clients or servers - just
>    endpoints that can be either at the same time.
>
> Right now most message bus projects appear to leverage protobuf.  They
> could leverage Apache Thrift, if we start paving that road.
>
> Thoughts?
>
> - Jim
>