YOU STILL HAVE TO WATCH HOW MANY OBJECTS YOU CREATE. This article looks at a benchmark passing events over TCP/IP at 4 billion events per minute using the net.openhft.chronicle.wire.channel...
http://blog.vanillajava.blog/2022/09/java-is-very-fast-if-you-dont-create.html
A significant feature of Chronicle Queue Enterprise is support for TCP replication across multiple servers to ensure the high availability of application infrastructure. I generally believe tha...
http://blog.vanillajava.blog/2022/08/comparing-approaches-to-durability-in.html
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 Processor with a New O...
http://blog.vanillajava.blog/2022/06/event-driven-order-processing-program.html
On Linux, you can create sparse files , where only the pages (of 4 KiB) that are touched utilise either memory or disk space. This allows you to memory map large virtual regions without worryi...
http://blog.vanillajava.blog/2022/06/efficient-memory-mapping-for-terabyte.html
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-time, with latencie...
http://blog.vanillajava.blog/2022/05/event-driven-hello-world-program.html
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 ...
http://blog.vanillajava.blog/2022/05/how-behaviour-driven-development-works.html
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...
http://blog.vanillajava.blog/2022/04/the-more-you-say-less-people-remember.html
My previous post with Eight Core Java Questions was popular so I created nine more. Please join the discussion of the answers for these questions on Twitter 1. Comment on this question...
http://blog.vanillajava.blog/2022/04/nine-core-java-questions.html
Please join the discussion of the answers for these questions on Twitter The answers to each question can be combined for a bonus question at the end. 1. Which of these is NOT a means o...
http://blog.vanillajava.blog/2022/04/eight-core-java-questions.html
Apache Kafka is a common choice for inter-service communication. Kafka facilitates the parallel processing of messages and is a good choice for log aggregation. Kafka claims to be low latency, hi...
http://blog.vanillajava.blog/2022/01/benchmarking-kafka-vs-chronicle-for.html
Recently I published an article on using timestamps as unique identifiers , generated in a fraction of a microsecond. This article covers an implementation that supports distributed identifier ge...
http://blog.vanillajava.blog/2022/01/distributed-unique-time-stamp.html
A Unique Identifier can be very useful for tracing. Those ids are even more useful when they contain a high-resolution timestamp. Not only do they record the time of an event, but if unique ...
http://blog.vanillajava.blog/2021/12/system-wide-unique-nanosecond-timestamps.html
There are things you can do in Java you rarely see, generally because there is no use for it. However, there are some unusual things in Java that could be surprisingly useful. Chronicle Softwar...
http://blog.vanillajava.blog/2021/12/unusual-java-stacktrace-extends.html
I wrote an article on low latency microservices almost five years ago now. Chronicle Software has worked with a number of tier-one investment banks to implement and support those systems. Wh...
http://blog.vanillajava.blog/2021/12/low-latency-microservices-retrospective.html
REVIEWING EXCEPTION HANDLING When developing an application it can be hard enough to get the happy path working, let alone worry about what might happen when something goes wrong. I have as...
http://blog.vanillajava.blog/2017/03/reviewing-exception-handling-when.html
DISTRIBUTING COMMON JAVA APIS DISTRIBUTING DATA STORES VS PRIVATE DATA STORES IN MICROSERVICES Distributing data containers e.g. Maps, can be a way of avoiding having to think too much about...
http://blog.vanillajava.blog/2017/03/distributing-common-java-apis.html
MODELLING MICROSERVICE PATTERNS IN CODE SERVICE INTERACTIONS There is a number of simple interactions a service can support. Which pattern is best for your application can depend on what an ...
http://blog.vanillajava.blog/2017/03/modelling-microservice-patterns-in-code.html
SIMPLE ASYNCHRONOUS MICROSERVICES USING LAMBDA ARCHITECTURE. LAMBDA ARCHITECTURE Lambda Architecture is a simple, powerful, though limited example of a Microservice. As it is so simple, you ...
http://blog.vanillajava.blog/2017/03/simple-asynchronous-microservices-using.html
MICROSERVICES ARE ABOUT APPLYING A GROUP OF BEST PRACTICES MICROSERVICES DENIAL A number of times clients have said; they can’t imagine their organisation using Microservices. I found this...
http://blog.vanillajava.blog/2017/03/microservices-are-about-applying-group.html
BAD STRING We have a program here that has two threads printing messages alternatively. However, if you change a String from "cC" to "cc" it doesn’t print anything, WHY? . . . Read...
http://blog.vanillajava.blog/2017/03/bad-string-we-have-program-here-that.html
A JDBC GATEWAY MICROSERVICE A DEEP DIVE INTO A LOW LATENCY MICROSERVICE We look at a microservice which can run in it’s own JVM, can perform JDBC updates and queries via a persistent queue...
http://blog.vanillajava.blog/2017/03/a-jdbc-gateway-microservice-deep-dive.html
MICROSERVICES IN THE CHRONICLE WORLD - PART 5 In this part we look at putting a micro service together as a collection of services, and consider how we can evaluate the performance of these ...
http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-5.html
MICROSERVICES IN THE CHRONICLE WORLD - PART 4 A common issue we cover in our workshops is, how to restart a queue reader after a failure? The answer is not a simple as you might think. ...
http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-4.html
MICROSERVICES IN THE CHRONICLE WORLD - PART 2 In Part 1 , we looked at how we can easily create and test components which expect asynchronous messages in and produce asynchronous messages ...
http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-2.html
MICROSERVICES IN THE CHRONICLE WORLD - PART 3 One of the problems with using microservices is performance. LATENCIES can be higher due to the cost of SERIALIZATION, messaging and deserial...
http://blog.vanillajava.blog/2017/02/microservices-in-chronicle-world-part-3.html