Multiple publishers will send their message to a central node which is responsible for sequencing these messages before they reach the subscribers. Does there exist a chronicle service that already does this?
Should be doable with Chronicle queue
Multiple publishers will send their message to a central node which is responsible for sequencing these messages before they reach the subscribers. Does there exist a chronicle service that already does this?
Should be doable with Chronicle queue
You can do this three ways:
directly writing to a chronicle queue, assuming all the producers and consumers are on the same machine. This is the lowest latency option, typically less than a microsecond for modest message sizes e.g. https://github.com/OpenHFT/Chronicle-Queue/tree/ea/src/test/java/net/openhft/chronicle/queue
connect to a service via Chronicle Channels and write to a queue, and also connect to subscribe to the queue (you can also have some of these directly on the server) The latency is typically 10-20 microseconds over the network latency, depending on hardware. e.g. https://github.com/OpenHFT/Chronicle-Queue/tree/ea/src/test/java/net/openhft/chronicle/queue/channel
You can write to queues locally on each machine and have them replicated to a single machine to combine them (this requires the enterprise version, but is the highest throughput and lowest latency for writes option)
If you can be more specific, I could write an example for you.
NOTE: If you write and read everything on the same physical machines, even in different docker containers, you don't need to run an additional service. They can all access the same queue in shared memory, any data written to the queue isn't lost even if every process dies (provided the OS doesn't)