Gospel gospel! Alibaba's top-tier "microservice architecture document" is born!

Preface

After these years of development, microservices have become a new favorite in the software field! ! !

Since about five or six years ago, I have talked more and more about microservices in my work, and have participated in the transformation of microservices for some customer applications. There are many successful examples, and of course there are cases where expectations have not been met.

With the rapid development of network infrastructure, and more and more companies and organizations need to provide services through the Internet, when considering building a software platform that can support massive requests and changeable businesses, microservice architecture has become the first choice of most people. At the same time, the emergence of microservice architecture is also in line with the law of development of things!

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

So the editor compiled this "Microservice Architecture Design Pattern" document for everyone, and will explain this document from the three parts of the catalog, the foreword, and the main content. At the same time, I hope it will be useful to all the big brothers and friends. You will like it! Finally, friends who need this "Microservice Architecture Design Pattern" document only need to pay attention + forward, scan the QR code below to get the contact information for free~

Let's take a look at this microservice architecture catalog first

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

The main content of this book

This "Microservice Architecture Design Patterns" has 13 chapters. In this book, there are not only problems, solutions and solutions that have been identified in the field of microservices, but also corresponding code examples. So, the next editor will explain this document in detail in each chapter! ! !

Chapter 1 Escape from Single Hell

This chapter mainly describes the symptoms of the so-called "monolithic hell". This problem occurs when a monolithic application exceeds its architecture. This can be avoided by adopting a microservice architecture. This chapter also provides an overview of the microservice architecture pattern language, which is the subject of much of the book.

Guide to this chapter:

  • The characteristics of the single hell, how to escape the single hell with the help of microservice architecture
  • The basic characteristics of microservice architecture, its advantages and disadvantages
  • When developing large-scale and complex applications, how to use microservices to achieve DevOps development style
  • The pattern language of microservice architecture and why use it?

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 2 Service Split Strategy

This chapter explains why software architecture is important, describes patterns that can be used to decompose applications into collections of services, and explains how to overcome various obstacles encountered in the process~

Guide to this chapter:

  • Understand the software architecture and why it is so important
  • Use the business capability mode and subdomain mode in the split mode to split the single application into the service
  • Use the concept of bounded context in domain-driven design to decompose data and make service splitting easier

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 3 Interprocess Communication in Microservice Architecture

This chapter mainly introduces several modes of powerful inter-process communication in the microservice architecture, and explains why asynchronous and message-based communication are usually the best choice~

Guide to this chapter:

  • Specific applications of communication modes: remote procedure call, circuit breaker, client discovery, self-registration, server discovery, third-party registration, asynchronous messaging, transactional outbox, transaction log tailing, polling publishers
  • The importance of inter-process communication in microservice architecture
  • Define and evolve API
  • How to weigh the various inter-process communication technologies
  • Benefits of using asynchronous messaging for services
  • Send messages reliably as part of a database transaction

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 4 Using Saga to Manage Transactions

This chapter mainly introduces how to use Saga mode to maintain data consistency between services. Saga is a series of local transactions coordinated by passing asynchronous messages~

Guide to this chapter:

  • Why distributed transactions are not suitable for modern applications
  • Use Saga mode to maintain data consistency of microservice architecture
  • Use collaboration and orchestration to coordinate Saga
  • Use countermeasures to solve the lack of isolation

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 5 Business Logic Design in Microservice Architecture

This chapter mainly introduces how to use domain-driven design (DDD) aggregation and domain event modes to design business logic for services~

Guide to this chapter:

  • Design business logic organization mode: transaction script mode and domain modeling mode
  • Design business logic using aggregation mode of domain-driven design
  • Application domain practice patterns in microservice architecture

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 6 Use Event Sourcing to Develop Business Logic

Based on Chapter 5, this chapter explains how to use the event traceability model to develop business logic. The event traceability model is an event-centric design idea used to build business logic and persistent domain objects~

Guide to this chapter:

  • Use event traceability mode to develop business logic
  • Implement event repository
  • Integrate Saga and business logic based on event traceability
  • Implement Saga orchestrator using event sourcing

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 7 Implementing Query in Microservice Architecture

This chapter mainly introduces how to use API combination mode or command query duty isolation (CQRS) mode. These two modes are used to query data scattered in multiple services~

Guide to this chapter:

  • Challenges of querying data in microservice architecture
  • When and how to use API composition mode to implement query
  • When and how to use CQRS mode to implement query

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 8 External API Mode

This chapter mainly introduces the external API mode for handling requests from various external clients, such as mobile applications, browser-based JavaScript applications, and third-party applications~

Guide to this chapter:

  • The challenge of designing an API that can support multiple clients
  • Use API Gateway mode and backend front mode
  • Design and implement API Gateway
  • Use reactive programming to simplify API composition
  • Use GraphQL to implement APl Gateway

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 9 Testing Strategies in Microservice Architecture (Part 1)

This chapter is the first of two chapters about microservice automated testing technology. It introduces important testing concepts, such as the test pyramid, describes the relative proportions of each test type in the test suite, and shows how to write the basis of the test pyramid Unit testing.

Guide to this chapter:

  • Effective testing strategies in microservices
  • Use mocks and stubs to perform isolation testing on elements in the software
  • Use the test pyramid to determine the focus of testing
  • Perform unit tests on the classes in the service

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 10 Test Strategy in Microservice Architecture (Part 2)

This chapter is based on Chapter 9 and describes how to write other types of tests in the test pyramid, including integration tests, consumer contract tests, component tests, etc.~

Guide to this chapter:

  • Techniques for testing services in an isolated environment
  • Use consumer-driven contract testing to write fast and reliable tests to verify communication between services
  • When and how to perform end-to-end testing of the application

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 11 Development of microservice applications for production environments

This chapter introduces all aspects of developing production-ready services, including security, externalized configuration modes, and service observability modes. Service observability models include log aggregation, application metrics, and distributed tracking.

Guide to this chapter:

  • Develop secure services
  • How to use externalized configuration mode
  • How to use observability mode
  • Health Check API
  • Log aggregation
  • Distributed tracking
  • Exception tracking
  • Application metrics
  • Audit logging
  • Simplify service development by using the microservice base pattern

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 12 Deploying Microservice Applications

This chapter mainly introduces various deployment modes that can be used to deploy services, including virtual machines, containers, and serverless modes. It also introduces the benefits of using service grid, which is a network software layer that handles communication between services in a microservice architecture.

Guide to this chapter:

  • Four key deployment modes, how they work, and their advantages and disadvantages:
  • Use Kubernetes to deploy services
  • Use the service grid to separate the service release link from the service deployment link
  • Use AWS Lambda to deploy services
  • Choose deployment mode

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Chapter 13 Refactoring Strategies of Microservice Architecture

This chapter introduces how to gradually reconstruct a monolithic architecture into a microservice architecture by adopting the Strangler pattern. The strangler pattern refers to the realization of new functions in the form of services, and extracting modules from the monoliths to convert them into services~

Guide to this chapter:

  • When to migrate monolithic applications to microservice architecture
  • When refactoring a monolithic application into a microservice architecture application, why is it important to use an incremental approach
  • Implement new features as services
  • Extract services from the monomer
  • Integrated services and monoliths

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

Gospel gospel!  Alibaba's top-tier “microservice architecture document” turned out

 

collection method

Like + follow + forward, scan the QR code below the editor to get this "microservice architecture design pattern" document for free! ! !

Guess you like

Origin blog.csdn.net/Java6888/article/details/109225670