Microservice architecture
Last updated
Last updated
I noted by the follow by , just in case the website cannot be visited anymore.
Logical view - The software elements that are created by developers. In object-oriented languages, these elements are classes and packages. The relations between them are the relationships between classes and packages, including inheritance, associations, and depends-on.
Implementation view - The output of the build system. This view consists of modules, which represent packaged code, and components, which are executable or deployable units consisting of one or more modules. In Java, a module is a JAR file, and a component is typically a WAR file or an executable JAR file. The relations between them include dependency relationships between modules and composition relationships between components and modules.
Process view - The components at runtime. Each element is a process, and the relations between processes represent interprocess communication.
Deployment - How the processes are mapped to machines. The elements in this view consist of (physical or virtual) machines and the processes. The relations between machines represent networking. This view also describes the relationship between processes and machines.
https://grokkingtechinterview.com/24-microservices-interview-questions-and-answers-to-land-that-job-4ae81ef34083
Using to decide how to decompose services. These notes below are from Microservices patterns of *Chris Richarson.
[[Decompose by business capability]]
[[Decompose by subdomain]]
[[Self-contained Service]]
[[Service per team]]
[[Shared database]]
[[Database per Service]]
[[API Composition]]
[[CQRS]]
[[Aggregate]] )
[[Saga]]
[[Event sourcing]]
[[Domain event]]
[[Consumer-driven contract test]]
[[Consumer-side contract test]]
[[Service Component test]]
[[Server-side page fragment composition]]
[[Client-side UI composition]]
[[Audit logging]]
[[Application metrics]]
[[Service template]]
[[Microservice Chassis]]
[[Externalized configuration]]
[[Access token]]
[[Transactional outbox]]
[[Transaction log tailling]]
[[Polling publisher]]
[[Messaging]]
[[Remote Procedure invocation]]
[[Domain-specific]]
[[Circuit Breaker]]
[[Client-side discovery]]
[[Self registration]]
[[Distributed tracing]]
[[Health check API]]
[[Exception tracking]]
[[Log aggregation]]
[[Log deployments and changes]]
[[Multiple Services instance per host]]
[[Single Service instance per host]]
[[Serverless deployment]]
[[Service instance per Container]]
[[Service instance per VM]]
[[Service deployment platform]]
[[Service mesh]]
[[Sidecar]]
[[Service registry]]
[[Server-side discovery]]
[[3rd party registration]]
[[API gateway]] or [[Backends for Frontend]]