"I am an admirer of all things Chronicle, can honestly say, Chronicle Queue changed my entire perspective"
-Nicholas Whitehead, DriveWealth
Chronicle Queue is available as a fully native Java or C++ library, and also supports a Python API. All versions are fully binary compatible.
Chronicle Queue Enterprise in Action
Chronicle Queue Enterprise is most often used for producer-centric systems where data needs to be retained for days or years.
A producer-centric system does everything possible to never push back on the producer, or tell it to slow down.
Market data publishers do not allow pushing back on the producer for long; if at all. Chronicle Queue can e.g. consume data from CME OPRA, that produces peaks of 10 million events per minute, sent as UDP packets without any retry. A missed or dropped packet is lost. Hence, packets must be consumed and recorded as fast as they arrive, with very little buffering in the network adapter.
For market data, real-time means microseconds.
Chronicle Queue can support millions of events per second, per server, and access data that has been retained for years.
Latency Sensitive Micro-services
Chronicle Queue supports low-latency IPC (Inter Process Communication) between JVMs on the same machine in the order of magnitude of 1 microsecond; as well as between machines with a typical latency of 10 microseconds for modest throughputs of a few hundred thousands. Chronicle Queue supports throughputs of millions of events per second, with stable microsecond latencies.
A Chronicle Queue can be used to build state machines. All the information about the state of those components can be reproduced externally, without direct access to the components, or to their state. This significantly reduces the need for additional logging. However, any logging you do need can be recorded in great detail. This makes enabling debug logging in production practical as the cost of logging is very low; less than 10 microseconds. Logs can also be replicated centrally for log consolidation.
Lamda Stream Processing
Non-batching streaming components built with this technology are highly performant, deterministic, and reproducible. You can reproduce bugs that only show up after a million events played in a particular order, with accelerated realistic timings.
Trusted by Top-Tier Financial Institutions
Securing Your Chronicle Queue Replication
As an optional feature of Chronicle Queue, we provide a lightweight TCP and TLS Proxy. Key features are:
- Configurable Routing Policies - multiple policies supported, including Round Robin, Sticky Round Robin and “Blue-Green” partitioning
- Transparent Failover - to enable High Availability and Disaster Recovery
- TLS Support - initiation and termination of TLS for encryption and authentication
- Network Segmentation - can be installed in DMZ to satisfy network security requirements
- Low Overhead - less than 100ns plus additional TCP hop
Licensing and support
At Chronicle we pride ourselves on the stability and knowledge of our development and support team. With decades of experience from the financial industry, you can trust us with your toughest challenges.
Get expert help
Our expert consultants are ready to support you with any issues that may arise. We understand that the Chronicle Queue is usually only a small part of a system, and our experienced developers can help with architecture and latency issues in other areas if needed.
Simple licensing model
Our simple and transparent licensing model provides certainty and ensures that Chronicle Queue Enterprise is available to businesses of all sizes, from the largest bank to the smallest hedge fund.
Articles about Chronicle Queue
The Big Question How is Chronicle Queue being used for Big Data solutions in Java, and how does it work under the covers? What is Chronicle Queue? Chronicle Queue is a persisted journal of messages which supports concurrent writers and readers even across multiple JVMs on the same machine. Every reader sees every message, and…
Compared to a year ago, we have significantly improved the throughput at which we can achieve the 99%ile (worst one in 100). What tools and tricks did we use to achieve that? What are we testing? Chronicle Queue appends messages to a file while another thread or process can be reading it. This gives you…
If you use a standard JVM like the Oracle JVM or the OpenJDK, you might find that as the heap size grows the performance of your JVM can drop as GC pause time escalates. This tends to be a problem around 32 GB of heap, but it often depends on the application at which point…