1. 程式人生 > >微服務專案架構技術

微服務專案架構技術

一、基於SpringCloud構建微服務電商專案

1.Eureka作為註冊中心,實現服務治理

2.管理統一服務入口管理 Zuul閘道器

3.Http協議 Fegin客戶端、 Ribbon本地負載均衡

4.Hystrix服務保護框架(熔斷、降級、隔離、限流)

5.微服務訊息匯流排Stream RabbitMQ和Kafka

6.服務追蹤與呼叫鏈關係sleuth、Zipkin

7.微服務安全控制SpringCloud Security

8.微服務SSO單點系統SpringCloud Oauth2.0+Jwt+Cas

9.微服務Api管理Swagger

二、分散式基礎設施

1.分散式任務排程平臺XXL-JOB

2.分散式日誌分析 ELK

3.分散式事務解決方案LCN

4.分散式鎖解決方案 Zookeeper 、Redis

5.分散式配置中心攜程阿波羅

6.靜態資源伺服器

7.分散式全域性ID生成

8.分散式Session一致性Spring - Session

三、資料庫技術

1.資料庫Mysql+Mycat

2.分表分庫外掛Shardingjdbc

3.Redis與資料庫同步框架 canal

四、專案部署與運營

1.網站採用動靜分離CDN內容分發

2.使用Git版本控制

3.Jenkins+Docker自動部署

4.使用Nginx+keepalived實現高可用

 

其他 

微服務SpringCloud 和Dubbo(阿里巴巴開源服務治理框架)

Dubbo只是實現了服務治理,而Spring Cloud下面有17個子專案(可能還會新增)分別覆蓋了微服務架構下的方方面面,服務治理只是其中的一個方面,一定程度來說,Dubbo只是Spring Cloud Netflix中的一個子集。

看看Spring Cloud和Dubbo都提供的支援

  Dubbo Spring Cloud
服務註冊中心 Zookeeper Spring Cloud Netflix Eureka
服務呼叫方式 RPC REST API
服務閘道器 Spring Cloud Netflix Zuul
斷路器 不完善 Spring Cloud Netflix Hystrix
分散式配置 Spring Cloud Config
服務跟蹤 Spring Cloud Sleuth
訊息匯流排 Spring Cloud Bus
資料流 Spring Cloud Stream
批量任務 Spring Cloud Task
…… …… ……

分散式解決方案 SpringCloud config、阿波羅(推薦使用)、Elastic job