Recent Posts

Building Real-Time Applications to Process Wikimedia Streams Using Kafka and Hazelcast

In this tutorial, developers, solution architects, and data engineers can learn how to build high-performance, scalable, and fault-tolerant applications that react to real-time data using Kafka and Hazelcast. We will be using Wikimedia as a real-time data source. Wikimedia provides various streams and APIs (Application Programming Interfaces) to access real-time data about edits and changes made to their projects. For …

Read More »

System Architecture: Move Authentication to the API Gateway

When exposing an application to the outside world, consider a Reverse-Proxy or an API Gateway to protect it from attacks. Rate Limiting comes to mind first, but it shouldn’t stop there. We can factor many features in the API Gateway and should be bold in moving them from our apps. In this post, I’ll show how to implement authentication at …

Read More »

ArchUnit: Testing Your Architecture

ArchUnit is a library that allows us to test our architecture (layering/slicing/(naming) conventions, and more). Why does this matter? It’s all about leaving a legacy and safeguarding it. During the lifecycle of a project, people might shift roles, join the team, … And might not be aware of the conventions within the team/organization. Testing your architecture is both an aid …

Read More »