Systems | Development | Analytics | API | Testing


What is an API Gateway? A Complete Guide

An API’s main purpose is to allow multiple applications to communicate with one another. However, APIs can easily be made more secure and efficient through API gateways which provide a unified entry point across internal APIs. This unified entry point allows for greater control over user access and helps elevate API security measures like rate limiting while also applying security policies like OAuth or JWT. Plus, API gateways are extremely beneficial for securing microservices.

What is the Event Sourcing Pattern? | Microservices 101

Event Sourcing is a pattern of storing an object's state as a series of events. Each time the object is updated a new event is written to an append-only log. When the object is loaded from the database, the events are replayed in order, reapplying the necessary changes. The benefit of this approach is that it stores a full history of the object. This can be valuable for debugging, auditing, building new models, and a variety of other situations. It is also a technique that can be used to solve the dual-write problem when working with event-driven architectures.

What is the Transactional Outbox Pattern? | Microservices 101

The transactional outbox pattern leverages database transactions to update a microservice's state and an outbox table. Events in the outbox will be sent to an external messaging platform such as Apache Kafka. This technique is used to overcome the dual-write problem which occurs when you have to write data to two separate systems such as a database and Apache Kafka. The database transactions can be used to ensure atomic writes between the two tables. From there, a separate process can consume the outbox and update the external system as required.

What is the Dual Write Problem? | Microservices 101

The dual write problem occurs when you try to write to two separate systems and need them to be atomic. If one write fails, and the other succeeds, you can end up with inconsistent state. This is an easy trap to fall into, and it can be difficult to avoid. We'll explore what causes the dual-write problem and explore both valid and invalid solutions to it.

Day 0 Service Mesh: A Simplified Approach for Building Microservices

The acceleration of microservices and containerized workloads has revolutionized software delivery at scale. However, these distributed architectures also introduce significant complexity around networking, security, and observability. As development teams grappled with reliability and governance issues, the service mesh pattern emerged to simplify management.

How To Build Scalable and Resilient Microservices | Microservices 101

Building scalable and resilient microservices requires an approach that eliminates the need to treat them as special. They should be treated as easily replaceable building blocks. This means eliminating bottlenecks and single points of failure but it can also mean changing from a pull-based approach to a push-based approach. CHAPTERS.

Understand Microfrontends: A Guide for Developers and CTOs

Microservices architecture has gained significant traction due to its ability to break down monolithic applications into smaller, independently deployable services. However, the benefits have often been lop-sided. While backend developers have realized numerous advantages, frontend adoption has been held back by tight coupling, slow development cycles and scalability issues. Microfrontends have emerged as a solution to these challenges by applying microservices principles to the frontend.

Point-to-Point vs Publish/Subscribe | Microservices 101

Communication between microservices can be broadly categorized as either point-to-point or publish/subscribe. Point-to-point is often used synchronously, while publish/subscribe tends to be asynchronous. Each of these techniques can have a place in a modern microservices platform, but it is important to understand the role each one plays so that they can be used effectively. CHAPTERS.

How To Improve The Performance of Your #Microservices | Andres Sacco | #microservicesarchitecture

In this informative session, Andres Sacco provides actionable insights on improving the performance of your microservices. With the growing adoption of microservices architecture, optimizing their performance is crucial for overall system efficiency. Andres shares practical strategies and best practices, covering key aspects such as scalability, response time, and resource utilization.

Commands, Queries, and Events | Microservices 101

Messages between microservices come in three different flavors: Commands, Queries, and Events. Commands change the state, queries request the state, and events share the state. When designing microservice communication patterns, it is important to understand the role of these messages. Following a clear set of rules can help ensure consistency and clarity within your system of microservices.