微服務專案架構技術
阿新 • • 發佈:2018-11-28
一、基於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