Billions of Messages Per Minute Over TCP/IP
Key Takeaways Data consistency is critical when communicating between software components on different machines to ensure information remains in tact. Low-latency data exchange requires…
How to Optimise CPU Performance Through Isolation and System Tuning
What are the challenges of tuning your CPU and system for optimal performance with Linux, and how does Chronicle Tune address them? CPU isolation…
Building Custom Solutions vs. Buy-and-Build Software
The Challenges of Building a FIX Engine The first day I was introduced to FIX was when I worked at an investment bank in…
Unique Identifiers Based on Timestamps in Distributed Applications
At Chronicle we build applications that must process very high numbers of events with minimum latency. Generating unique IDs for these events using the…
Java is Very Fast, If You Don’t Create Many Objects
This article looks at a benchmark passing events over TCP/IP at 4 billion events per minute using the net.openhft.chronicle.wire.channel package in Chronicle Wire and…
Monitoring Event Loops for Blockages
Chronicle’s open source Chronicle Threads library has a little known feature which is one of the first tools I get from my bag if a…
Monitoring Chronicle Services
Chronicle Services is a framework for building Event-driven microservices. Microservices built with Chronicle Services are efficient, easy to build, test, and maintain. Equally important…
Using Pausers in Event Loops
Typically in low-latency development, a trade-off must be made between minimising latency and avoiding excessive CPU utilisation. This article explores how Chronicle’s Pausers can…
Tuning Java Applications for Low Latency on Linux
Introduction I have lost count of the number of times I have been told that Java is not a suitable language in which to…
The Unix Philosophy for Low Latency
Unix has been around for more than 50 years, and the original design principles must be good enough for it (and its derivative, Linux)…
Comparing Approaches to Durability in Low Latency Messaging Queues
A significant feature of Chronicle Queue Enterprise is support for TCP replication across multiple servers to ensure high availability of application infrastructure. I have…
Automatically Creating Microservices Architecture Diagrams
In application development, microservices is an architectural style where larger applications are structured as a collection of smaller, independent, yet interconnected services. While this…
Chronicle FIX: Much More Than a Quick Fix
Many of our customers have upgraded from QuickFIX/J to Chronicle FIX and this article provides some background as to why. Introduction QuickFIX/J is free,…
Chronicle FIX: Designed Not To Skip A Message Even If Your Data Centre Fails
A high level of availability of IT services is crucial to prevent disruptions of service that can lead to financial losses, business opportunity losses,…
Chronicle Wire: Object Marshalling
At Chronicle, we know that efficient code doesn’t just run faster; if it’s using less compute-resource, it may also be cheaper to run. In…
How to Automatically Generate GitHub Release Notes From Resolved Issues
GitHub Issues are convenient since they come bundled with a GitHub repository. Many companies are exploring this tool as an alternative to full-featured issue…
Event-Driven Order Processing Program
Following the Hello World example of a simple, independently deployable real-time Event-Driven Microservice, this article looks at a more realistic example of an Order…
Efficient Memory Mapping for Terabyte Sparse Files in Java
On Linux, you can create sparse files, where only the pages (of 4 KiB) that are touched utilise either memory or disk space. This…
Exhaustive JUnit5 Testing with Combinations, Permutations and Products
Unit testing constitutes an integral part of the process of providing high-quality software. But, how can one write tests covering all variants of several…
Event Driven Hello World Program
Event-driven microservices can be straightforward to describe before they are implemented, tested and maintained. They are also highly responsive to new information in real…