Technical theory is everywhere. What are we missing? Lack of actual combat cases, armchair soldiers can not stand the test, from beginning to end to experience a deep memory.

This article will take you really walk once.

Combined with SpringCloud, SpringCloudAlibaba, Dubbo and other open source suites, based on the parking business needs of a shopping mall, micro-service development practice, strive to master common skills in micro-service architecture through a case, easy to get started.

Why write this column (why?)

The popularity of micro-service in the past two years has slowly shifted the structure of many companies to micro-service, but to directly start micro-service, we also need to be able to pass practical exercises and constantly improve, in order to be able to work with ease.

There are a lot of related resources on the network, but most of them are disorganized and not systematic, which is not conducive to systematic mastery. It is impossible to go deeper into them step by step, let alone grasp the actual integration of each component in the project.

There are a few cases, but the lack of documentation details makes reading the code confusing for beginners. Therefore, I decided to write a small example suitable for the actual scene. The business does not need to be very complicated, so that I can connect this set of technical system, so that I can follow the hands-on practice, and deepen my understanding of the technology stack through step by step.

What are you trying to accomplish (and where?) with this column?

This column will take you through a complete implementation of a project, from requirements collation, analysis design, storage design, key business process design, coding, testing (unit testing, system testing), deployment to launch, daily monitoring and maintenance, and more.

There is nothing new about using the agile development model to make products, and this column will incorporate some agile methods appropriately for team collaboration exercises. Programmers generally pay more attention to the improvement of hard skills, so it is important to master key skills. At the same time, soft skills should also be improved along with hard skills, such as teamwork, communication and understanding, problem solving, leadership and management skills.

The technology stack involved in this column’s field case

You can’t do Java without Spring. You can also do microservice development in Java without getting around Spring Cloud. But as Dubbo was rebooted and turned over to the Apache open source community for maintenance, the Dubbo ecosystem became more and more complete. Although it is inappropriate to compare Spring Cloud with Dubbo, many friends will struggle to choose Dubbo or Spring Cloud when choosing technology. The emergence of Spring-Cloud-Alibaba perfectly integrates Dubbo ecology with Spring Cloud ecology. You don’t have to choose between Dubbo and Spring Cloud, they work well together.

Here is a list of possible technology stacks:

  • Reverse proxy: Nginx, which can be deployed in static and static separation mode

  • Unified gateway: a simple authentication operation based on spring-cloud-Gateway and JWT

  • Distributed transactions: Seata, Alibaba’s internal distributed transaction products evolve iteratively.

  • Downgrading, limiting: Hysrix/Sentinel

  • Service management: Nacos

  • Distributed configuration Center: Nacos

  • Client load balancer: OpenFeign

  • Asynchronous messaging: RocketMQ, open source by Alibaba, incubated by Apache

  • Link tracking: Skywalking, huawei open source, incubated by Apache

  • Distributed cache: Redis

  • Health monitoring: spring-boot-admin

  • Distributed lock: Redission

  • Code simplification: Lambok, Mybatis – Plus, Mybatis – Generator

  • RPC framework: Apache Dubbo

Practical project will also involve some small components, small skills, more close to the commercial project development practice, together with the action, micro service architecture is not profound, you can master better.

Column suitable for people

Programmers, systems architects, IT practitioners, project managers, IT managers, product managers, business architects

Source code address: xiaozhuanlan.com/msa-practic…