Is There a Best OS to Develop a Java Application on?

One subject that often evokes a lot of debate is which is the best OS to develop a Java application on. This article gives my view on the issue.   Java runs very well on Windows, macOS and Linux Distributions. I work for Chronicle Software, and much of our software is open-source Java libraries, so…

Read More

How Behaviour Driven Development Works Well with Event Driven Architectures

Behaviour Driven Development (BDD) and Event Driven Architecture (EDA) work well together as they complement each other’s strengths and weaknesses. Using both can result in a shorter time to market for new functionality and a more maintainable system. Behaviour Driven Development encourages a common language between users and developers in describing requirements in a form…

Read More

Which is the Fastest JVM?

How is a high-performance, low-latency Java application affected by the JVM version used? Every nanosecond counts for trading and other applications where messages between two different threads are exchanged in about 250 ns! Read this article and find out which JDK variant comes out at the top! Benchmarks This article will use open-source Chronicle Queue…

Read More

Why Core-to-Core Latency Matters

Last year we had a global shortage of microchips; today, I feel there is a worldwide shortage of software developers. Like many other software companies, Chronicle Software is rapidly expanding and interviewing candidates. We usually ask candidates to demonstrate a good knowledge of core Java, then we cover slightly more advanced concepts, such as the…

Read More

“The More You Say, the Less People Remember…

…The Fewer the Words, the Greater the Profit.” These wise words were written by François Fénelon, a writer and theologian living during the 17th century. This is an article summarising different approaches to the development of IT solutions. Learn why the above quote is very relevant for developers in the 21st century.   Business-driven development…

Read More

How Does Kafka Perform When You Need Low Latency?

Most Kafka benchmarks appear to test high throughput but not low latency. Kafka was traditionally used for high throughput rather than latency-sensitive messaging, but it does have a low-latency configuration. (Mostly setting linger.ms=0 and reducing buffer sizes). In this configuration, you can get below 1-millisecond latency a good percentage of the time for modest throughputs.…

Read More

Cloud-Native Chronicle Deployment

Traditionally, companies with low-latency requirements deployed to bare metal servers, eschewing the convenience and programmability of virtualisation and containerisation in an effort to squeeze maximum performance and minimal latency from “on-premises” (often co-located) hardware.   More recently, these companies are increasingly moving to public and private “cloud” environments, either for satellite services around their tuned…

Read More

How to Reduce Cloud Cost by 99% for EDA Kafka Applications

While the cloud offers great convenience and flexibility, the operational cost for applications deployed in the cloud can sometimes be significant. This article shows a way to substantially reduce operating costs in latency-sensitive Event-Driven Architecture (EDA) Java applications by migrating from Kafka to Chronicle Queue open-source, a more resource-efficient and lower-latency queue implementation. What is…

Read More

How to Leverage Method Chaining to Add Smart Message Routing

This article explores how to use method chaining to add routing information to serialised data structures in a lightweight fashion, where the routing information can be read separately by an intelligent message router.   We are going to use the open-source serialisation library Chronicle Wire. Let’s assume we have some data that we want to…

Read More

Introducing the Multifunctional FIX Router of Chronicle FIX

A Load Balancer, FIX Version Translator, and Rule-based Drop Copy FIX (Financial Information eXchange) protocol was developed to provide a reliable and high-speed exchange of transaction information between trading parties. In a typical scenario, there are point-to-point connections between clients and servers, ie a firm may run one or more FIX servers and multiple counterparties…

Read More