Systems | Development | Analytics | API | Testing

March 2021

RabbitMQ vs Apache Kafka: Comparing Message Brokers and Event Streaming Platforms

In an event-driven architecture, event routers are the components that connect event consumers to event producers. Not all implementations of event routers are the same, nor do any of them offer an all-purpose solution, so deciding which one to use depends on your use case and project's needs. Understanding their capabilities and limitations provides key insights that empower you to confidently decide which one to use and prepare you to navigate its shortcomings.

Service Discovery: Solving the Communication Challenge in Microservice Architectures

Whether you're breaking up a monolith or building a green-field application, you may consider using a microservice architecture. Like all app architectures, this model brings opportunities and challenges that a developer must be aware of in order to make the most of this app design. One such challenge is ensuring communication between your microservices.

Introduction to Synchronous and Asynchronous Processing

Synchronous and asynchronous, also known as sync and async, are two types of programming models. At an abstract level, programming models define how software is designed and executed. The basic programming models are synchronous, but asynchronous models are critical for performance reasons and to more efficiently use computing resources. Programming languages usually have built-in primitives to deal with asynchronous programming.

Understanding Event-Driven Architecture and Serverless Opportunities

Whether you're building a new application or adding new features to an existing application, it is worthwhile to reflect on the structure and design of what you're building. Not only does app architecture make the difference between a good app and an excellent app, but it can also either contribute to technical debt or mitigate it.