微服务平台技术架构
好运来了 人气:1
## 微服务概念
微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作和出现故障时不会相互影响。
![monolithic-vs-microservices](https://img2020.cnblogs.com/blog/1236907/202006/1236907-20200602111510717-906241150.png)
## 微服务组件
下图为搭建微服务平台常用到的一些生态组件
![微服务架构组件](https://img2020.cnblogs.com/blog/1236907/202006/1236907-20200602111543955-1852784346.png)
下图为对应生态组件的一些开源实现,相关源码在github中全部可以找到
![微服务架构组件实现](https://img2020.cnblogs.com/blog/1236907/202006/1236907-20200602111604953-1650032262.png)
下面的表格为项目对应的github地址,方便查阅
| 序号 | 组件名 | github地址 |
| :--: | -------------- | ---------------------------------------- |
| 1 | apollo | https://github.com/ctripcorp/apollo |
| 2 | nacos | https://github.com/alibaba/nacos |
| 3 | soul | https://github.com/Dromara/soul |
| 4 | redis | https://github.com/antirez/redis |
| 5 | sentinel | https://github.com/alibaba/Sentinel |
| 6 | rocketmq | https://github.com/apache/rocketmq |
| 7 | lmstfy | https://github.com/bitleak/lmstfy |
| 8 | saturn | https://github.com/vipshop/Saturn |
| 9 | flink | https://github.com/apache/flink |
| 10 | shardingsphere | https://github.com/apache/shardingsphere |
| 11 | seata | https://github.com/seata/seata |
| 12 | elasticsearch | https://github.com/elastic/elasticsearch |
| 13 | porter | https://github.com/sxfad/porter |
| 14 | skywalking | https://github.com/apache/skywalking |
| 15 | prometheus | https://github.com/prometheus/prometheus |
| 16 | id-generator | https://github.com/Meituan-Dianping/Leaf |
## 电商交易体系技术全景图
![交易体系技术全景图](https://img2020.cnblogs.com/blog/1236907/202006/1236907-20200602111631631-1063906502.png)
上图是个人根据之前的一些工作积累描绘出来的,当然这些只是冰山一角。其中大部分组件都有在公司实际使用过,里面都是开源组件,因为平常工作都是使用Java,所以基本都是从Java里面做的选型。
至于最终技术栈的选择,每个人有不同的认知及经验差异,可能会有其他的一些更好的想法,这个非常好。没有最好的,只有更合适的。可以结合公司的需求,团队的成员熟知度等因素综合考量后,完成这个技术体系的搭建即可。
## 参考文献
[https://zh.wikipedia.org/wiki/微服務](https://zh.wikipedia.org/wiki/微服務)
https://microservices.io/
加载全部内容