找了好多的资料和源码项目,经过我的筛选和确认,我今天整理了一份我认为目前是最好的可以满足我的学习体系和架构框架的一套微服务架构,起码在我的考虑范围,应该是这样的。不说废话直接上图
当然这个图是网上找的,如果原作者要求下架,请随时私信,从整个图中,我把当个的技术都梳理了一遍:
Nginx:一个高性能的HTTP和反向代理web服务器。(当然你可以把它和tomcat理解);
Gateway: 网关,处于应用和服务之间,用来管理授权、访问控制和流量限制。可以类似于三峡大坝;Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。
Nacos:注册中心,Nacos 致力于帮助您发现、配置和管理微服务,服务在nacos是一等公民
Redis: 缓存是一个key-value存储系统,数据缓存在内存中,重启系统数据丢失。
Jenkins:基于java开发的一种持续集成工具,我理解自动打包部署工具。
Docker&K8s:dockeer是一个特殊的文件系统,有了它,虚拟机就不香了。K8S,就是基于容器的集群管理平台。
Sentinel:阿里巴巴开源产品,把流量作为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性.
RocketMQ:Apache RocketMQ基于Java的高性能,高吞吐量的分布式消息和流计算平台.
Dubbo:Apache Dubbo是一款高性能的Java RPC框架.
Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案.
Alibaba Cloud Schedulerx:阿里中间件团队开发的一款分布式调度产品,支持周期性的任务与固定时间点触发任务.