Architectural Styles
This chapter introduces the different architectural approaches or styles. Each section will discuss a different approach to designing software, along with its pros and cons, as well as describe when and how to apply it to reap its benefits. We’ll begin this chapter by comparing stateful and stateless architectures. After that, we’ll cover monolith systems, service-oriented design, and microservices. Then, we’ll look at architectural styles from different angles by describing event-based architecture, event sourcing, layered systems, modular designs, and finally, hexagonal architecture.
Once you have completed this chapter, you’ll be familiar with the following topics:
- Deciding between stateful and stateless approaches
- Understanding monoliths
- Understanding services and microservices
- Exploring event-based architecture
- Exploring event sourcing pattern
- Understanding layered architecture ...