Communication between nodes


(Bikash Sen) #1

Just to verify my understanding, one node communicating with other node in Corda network through RPC call which in turn convert the call to Artemis message and send it to the recipient’s Artemis queue. Recipient node listen to the Artemis queue and convert the Artemis message to RPC call.

Is it my correct understanding?


(Mike Hearn) #2

Inter-node communication isn’t RPC based, it’s pure messaging. There is an RPC layer for clients to control the node, but it’s not used p2p. The message protocols are defined using flows.


(Bikash Sen) #3

Thanx! Mike for your reply. The RPC client interact with RPC layer (call RPC API) instead of direct access to messaging layer. But as per my understanding, the RPC layer internally using messaging layer to communicate with other nodes. Flows execute once message received to a particular queue through an event. Please correct me.


(Mike Hearn) #4

Yes, that’s right. Corda RPC is also message queue based. That means you can do things like throttle RPC clients, do load balancing between RPC serving subsystems, persist the response queues etc. All the regular features MQ brokers provide. We don’t expose all of them through the RPC API yet but that’s the long term plan.

P2P traffic doesn’t use the RPC engine because that’s more oriented towards async messaging where there can be long gaps between requests and responses, and where there isn’t always a clear distinction between client and server.


(Bikash Sen) #5

Thanx Mike! Can you please share or refer me an architectural diagram of Corda if possible?


(Mike Hearn) #6

There are some diagrams in the white papers. There isn’t a big “box and arrows” diagram of the entire system, I guess what you are wanting is more like a diagram of node components?


(andy tse) #7

Hi Mike,

It is good to have the architecture diagram of a node, if you have, please send to us.


(Roger Willis) #8

I’ve actually got a half complete one. Next week I’ll finish it off and post it on the forums.


(andy tse) #9

Hi Roger,

May I know if your architecture node diagram ready ?


(Andre Stephenson ) #10

@roger Has it been posted?