Ehsan Hajyasini a PhD researcher @ UCSD - NVSL.
How do you improve software quality? Here is the answer we came to at Radin Bourse.
Serialization can be a big deal in Java (or any other language for that matter). Some libraries can take 10s of microseconds while others can be as fast as 20 nanoseconds.
Simple Binary Encoding (SBE) is used together with Aeron and is crazy fast.
Fast Binary Encoding (FBE)
Other than Aeron, KryoNet is a Java library that provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO. KryoNet uses the Kryo serialization library.
The Universal Scalability Law (USL)
Aeron “promises to move millions of messages a second, at small microsecond latencies between machines, with consistent response times, to large numbers of clients”. A detailed overview could be found here which includes a very nice writeup of the lessons learned.
Aeron is commonly used in the trading industry.\
Talks: Aeron on InfoQ Aeron Clusters on InfoQ
Guides:
Amaethon: Auctioning with Aeron and SBE!
Aeron For The Working Programmer
Aeron Stats Prometheus Exporter
Aeron Practice
Why field injection is evil
Can be prevented using Ninjector in Spring.
Injecting Mockito Mocks into Spring Beans
HotTub paper on JVM warmup time and its effects on performance of Spark and HDFS
Tool: Cucumber
Talk: Setting a Good Example - How to improve your BDD