Microservices in Practice: Architectural Pattern Language Illustrations of ludotheca-share-mesh

MarcoMarco
1 min read

GitHub Repo: https://github.com/marco13-moo/ludotheca-share-mesh

Architectural Pattern Language Illustration

The microservice architecture pattern language was chosen in order to guide development of the resource-sharing system in order to meet the architectural decisions and characteristics of microservices [3:23]. This language is divided into 3 layers being infrastructure, application infrastructure and application patterns. Each layer comprises a multitude of groups and further sub-patterns [3:24]. Furthermore, an additional layer, the communication patterns layer, forms part of both the infrastructure and application infrastructure layers.

Application Patterns

Patterns that solve issues that have direct impact on the system development. Issues include [3:23]:

  • Decomposition

  • Database architecture

  • Querying

  • Data consistency maintenance

  • Testing

  • Observability

Application Infrastructure Patterns

Patterns that solve issues relating to infrastructure that impacts the system development. Issues include:

  • Cross-cutting concerns

  • Security

  • Transactional messaging

  • Communication styles

  • Reliability

  • Observability

  • Discovery

Infrastructure Patterns

Patterns that solve issues relating to infrastructure that hosts the system. Issues include:

  • Deployment

  • Discovery

  • External API

Communications Patterns Sub-layer

  • Transactional messaging (forms part of Application Infrastructure Patterns)

  • Communication styles (forms part of Application Infrastructure Patterns)

  • Reliability (forms part of Application Infrastructure Patterns)

  • Discovery (forms part of Application Infrastructure Patterns and Infrastructure patterns)

  • External API (forms part of Infrastructure Patterns)

0
Subscribe to my newsletter

Read articles from Marco directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Marco
Marco

Senior DevOps Engineer exploring the world of distributed systems