We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Just-in-time Architecture • Macklin Hartley • YOW! 2022
Discover the pros and cons of event-driven architecture and microservices, including event-carried state transfer, transactions logs, and scalability considerations.
- Event-driven architecture can be very effective, but not perfect, and might not be ideal always.
- MVC can be a good choice, but can lead to a complex system if not designed carefully.
- An example of a cafe can help illustrate the conversation.
- In a microservices architecture, each service needs to be designed to handle failures independently.
- Orchestrator handles the workflow, but commands are used by the orchestrator to communicate between services.
- Event-carried state transfer is a way to transfer state between microservices, avoiding the need for a central store.
- Transactions logs are a good way to keep track of events, but can be slow to query.
- Event sourcing can be used to build a read-only log of events.
- To properly test microservices, each service needs to be tested independently, which can be challenging.
- Designing for scalability can be a critical aspect of building a successful system.
- Event-driven architecture can be used to handle concurrent requests and events, making it more efficient.
- Choreography and orchestration are both ways to coordinate workflows using events.
- Using a message broker can help handle events and workflows.
- Event-driven architecture can help provide a high level of observability, making it easier to understand the system.
- To properly design for microservices, one needs to think about boundaries, scalability, and the costs of communication between services.
- A monolithic architecture can be good for small teams, but can become limiting as the team grows.
- Using an event-driven architecture can help avoid the problems of tightly coupling services.
- Orchestrator handles the workflow, but commands are used by the orchestrator to communicate between services.
- To properly implement event-driven architecture, one needs to consider the trade-offs between scalability, complexity, and consistency.
- Commands can be used by services to request operations, and events are used to notify services of changes.
- Events can be used to implement a form of eventual consistency, where changes are eventually reflected across the system.
- In an event-driven architecture, each service is responsible for its own consistency, making it easier to scale and manage the system.
- Services can be designed to handle failures independently, making it easier to add or remove services as needed.
- Event-driven architecture can be used to handle concurrent requests and events, making it more efficient.