微服务架构(Micro-service architecture)是有别于单体模式的一种架构模型,主张将单个应用划分为一组组小服务,服务之间相互协调合作,整合起来为用户提供完整服务支持。在微服务架构中,服务之间进行通信时,通常通过轻量级的通信机制实现互联和协作。所谓轻量级通信机制,通常是指与语言和平台无关的协议。通过轻量级的通信机制,服务之间的协作变得简单和标准化。

一、主流微服务的总体架构

主流微服务架构的技术解决方案:

主流微服务架构图

微服务的核心问题是分工、协作、治理:

1.微服务的划分就是微服务如何拆分,每个服务如何独立运行;

2.微服务协作就是各个服务之间如何通信。

3.微服务治理和容器云有独立的开源或商用产品,业内称为gPaaS或云底座。

二、微服务主要主流技术栈

1.服务注册发现: Nacos

2.服务配置中心: Nacos

3.服务网关:Spring Cloud Gateway

4.熔断限流: Sentinel

5.服务监控: Spring Boot Admin

6.分布式数据库:RDS

7.分布式缓存:Redis

8.分布式文件: Minio

9.分布式事务: Seata

10.链路跟踪:SkyWarking

11.分布式日志:ELK(Elasticsearch , Logstash, Kibana)

12.容器云:kubernetes、Rancher

13.CI/CD持续集成/部署:Jenkins