微服務概念
微服務是一種用於構建應用的架構方案。微服務架構有別於更為傳統的單體式方案,可將應用拆分成多個核心功能。每個功能都被稱為一項服務,可以單獨構建和部署,這意味著各項服務在工作和出現故障時不會相互影響。
微服務元件
下圖為搭建微服務平臺常用到的一些生態元件
下圖為對應生態元件的一些開源實現,相關原始碼在github中全部可以找到
下面的表格為專案對應的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 |
電商交易體系技術全景圖
上圖是個人根據之前的一些工作積累描繪出來的,當然這些只是冰山一角。其中大部分元件都有在公司實際使用過,裡面都是開源元件,因為平常工作都是使用Java,所以基本都是從Java裡面做的選型。
至於最終技術棧的選擇,每個人有不同的認知及經驗差異,可能會有其他的一些更好的想法,這個非常好。沒有最好的,只有更合適的。可以結合公司的需求,團隊的成員熟知度等因素綜合考量後,完成這個技術體系的搭建即可。