1

I have two services that are deployed in the two different VMs. I want to call one service from other to get some data via APIs. That should need to have an ultra-low latency call.

For that how can I used the Chronicle-Network (https://github.com/OpenHFT/Chronicle-Network)?

Or Any other solution?

Reg Reg
  • 49
  • 4

2 Answers2

1

I would suggest using Chronicle-Queue for passing messages from one service to another and back again. This is much lower latency than using TCP and easier to work with, provided the two VMs are on the same machine. You also get a record of every message making testing/debugging easier.

https://github.com/OpenHFT/Chronicle-Queue#high-level-interface-for-readingwriting

If you have two different machines I suggest either moving one VMs or using a low latency network card like Solarflare or Mellanox.

Peter Lawrey
  • 525,659
  • 79
  • 751
  • 1,130
  • 1
    If it is a cloud VMs, Its not be able to use a network card like Solarflare or Mellanox. In that case, what would be the best option? – Reg Reg Sep 18 '21 at 06:05
  • @RegReg communicate on the same machine gives the lowest latencies, even between docker containers. – Peter Lawrey Sep 24 '21 at 10:20
  • my two services placed on the two different machines. In that case what is the best option? – Reg Reg Mar 09 '22 at 17:14
0

If you have a network call between VMs, try to use Chronicle Network. Another option is Aeron UDP unicast connection - https://github.com/real-logic/aeron

rvit34
  • 1,967
  • 3
  • 17
  • 33