一、微服務治理中心框架
Apache Dubbo分布式RPC框架
Spring Cloud Alibaba分布式應用服務開發(fā)一站式解決方案
Spring Cloud微服務開發(fā)和治理框架
Spring Cloud Tencent一站式微服務解決方案
Apache ServiceComb一站式開源微服務解決方案
二、持續(xù)集成CI/CD
三、微服務組件
阿里系
Spring Cloud&Dubbo系
四、容器
Kubernetes
Docker Swarm
五. 應用服務
六、測試
七、總結
目前微服務早已火遍大江南北,對于開發(fā)來說,我們時刻關注著技術的迭代更新,而項目采用什么技術棧選型落地是開發(fā)、產(chǎn)品都需要關注的事情,該篇文章主要分享一些目前普遍公司都在用的技術棧,快來分享一下你當前所在用的技術吧。
一、微服務治理中心框架
Apache Dubbo分布式RPC框架
Apache Dubbo是一款 RPC 服務開發(fā)框架,用于解決微服務架構下的服務治理與通信問題,官方提供了 Java、Golang 等多語言 SDK 實現(xiàn)。使用 Dubbo 開發(fā)的微服務原生具備相互之間的遠程地址發(fā)現(xiàn)與通信能力, 利用 Dubbo 提供的豐富服務治理特性,可以實現(xiàn)諸如服務發(fā)現(xiàn)、負載均衡、流量調(diào)度等服務治理訴求。Dubbo 被設計為高度可擴展,用戶可以方便的實現(xiàn)流量攔截、選址的各種定制邏輯。
Spring Cloud Alibaba分布式應用服務開發(fā)一站式解決方案
Spring Cloud Alibaba致力于提供微服務開發(fā)的一站式解決方案。此項目包含開發(fā)分布式應用微服務的必需組件,方便開發(fā)者通過 Spring Cloud 編程模型輕松使用這些組件來開發(fā)分布式應用服務。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分布式應用系統(tǒng)。
此外,阿里云同時還提供了 Spring Cloud Alibaba 企業(yè)版 微服務解決方案,包括無侵入服務治理(全鏈路灰度,無損上下線,離群實例摘除等),企業(yè)級 Nacos 注冊配置中心和企業(yè)級云原生網(wǎng)關等眾多產(chǎn)品。
Spring Cloud Alibaba與Spring Cloud的關系

在 Spring Cloud 眾多的實現(xiàn)方案中,Spring Cloud Alibaba 憑借其支持組件最多,方案最完善,在 Spring Cloud 生態(tài)家族中扮演了重要角色。Spring Cloud Alibaba 與 Spring Cloud 生態(tài)其他方案之間對比圖如下:

主要功能
Sentinel
阿里巴巴開源產(chǎn)品,把流量作為切入點,從流量控制、熔斷降級、系統(tǒng)負載保護等多個維度保護服務的穩(wěn)定性。
Nacos
阿里巴巴開源產(chǎn)品,一個更易于構建云原生應用的動態(tài)服務發(fā)現(xiàn)、配置管理和服務管理平臺。
RocketMQ
Apache RocketMQ 基于 Java 的高性能、高吞吐量的分布式消息和流計算平臺。
Dubbo
Apache Dubbo 是一款高性能 Java RPC 框架。
Seata
阿里巴巴開源產(chǎn)品,一個易于使用的高性能微服務分布式事務解決方案。
Alibaba Cloud OSS
阿里云對象存儲服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數(shù)據(jù)。
Alibaba Cloud SchedulerX
阿里中間件團隊開發(fā)的一款分布式任務調(diào)度產(chǎn)品,支持周期性的任務與固定時間點觸發(fā)任務。
Alibaba Cloud SMS
覆蓋全球的短信服務,友好、高效、智能的互聯(lián)化通訊能力,幫助企業(yè)迅速搭建客戶觸達通道。
Spring Cloud微服務開發(fā)和治理框架
Spring Cloud為開發(fā)者提供了工具來快速構建分布式系統(tǒng)中的一些常見模式(例如配置管理、服務發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、一次性令牌、全局鎖、領導選舉、分布式會話,集群狀態(tài))。分布式系統(tǒng)的協(xié)調(diào)導致了樣板模式,使用 Spring Cloud 開發(fā)人員可以快速建立實現(xiàn)這些模式的服務和應用程序
Spring Cloud架構圖

Spring Cloud Tencent一站式微服務解決方案
Spring Cloud Tencent是騰訊開源的一站式微服務解決方案。Spring Cloud Tencent 實現(xiàn)了 Spring Cloud 標準微服務 SPI,開發(fā)者可以基于 Spring Cloud Tencent 快速開發(fā) Spring Cloud 微服務架構應用。Spring Cloud Tencent 的核心依托騰訊開源的一站式服務發(fā)現(xiàn)與治理平臺 Polarismesh ,實現(xiàn)各種分布式微服務場景。
Spring Cloud Tencent架構圖

Apache ServiceComb一站式開源微服務解決方案
Apache ServiceComb架構圖
Apache ServiceComb 提供了融合開源生態(tài)的一站式微服務開源解決方案,致力于幫助企業(yè)、用戶和開發(fā)者將應用輕松微服務化上云,實現(xiàn)對微服務應用的高效運維管理。

Apache ServiceComb項目介紹:http://servicecomb.incubator.apache.org/cn/docs/introduction
基于 Spring Boot + MyBatis Plus + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權限、多租戶、數(shù)據(jù)權限、工作流、三方登錄、支付、短信、商城等功能
項目地址:https://github.com/YunaiV/ruoyi-vue-pro
視頻教程:https://doc.iocoder.cn/video/
二、持續(xù)集成CI/CD
| CI/CD | 配置中心 |
|---|---|
| Jenkins、Docker Hub、Maven、Nexus、CI/CD | Apollo |
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現(xiàn)的后臺管理系統(tǒng) + 用戶小程序,支持 RBAC 動態(tài)權限、多租戶、數(shù)據(jù)權限、工作流、三方登錄、支付、短信、商城等功能
項目地址:https://github.com/YunaiV/yudao-cloud
視頻教程:https://doc.iocoder.cn/video/
三、微服務組件
阿里系
| 選項 | 組件 |
|---|---|
| 服務調(diào)用方式 | OpenFeign |
| 服務注冊 | Nacos Discovery |
| API網(wǎng)關 | Spring Cloud Gateway |
| 熔斷限流 | Sentinel |
| 配置中心 | Nacos Config |
| 消息隊列 | RocketMQ |
| 分布式事務 | Seata |
| 分布式服務追蹤 | Spring Cloud Sleuth |
| 監(jiān)控 | Spring Cloud Admin |
| 短信服務 | Alibaba Cloud SMS |
Spring Cloud&Dubbo系
| 選項 | 組件 |
|---|---|
| 服務調(diào)用方式 | feign |
| 服務注冊 | Eurake、Zookeeper |
| API網(wǎng)關 | Spring Cloud Gateway、Zuul |
| 熔斷限流 | Hystrix |
| 配置中心 | Apollo、Spring Cloud Config |
| 分布式服務追蹤 | Spring Cloud Sleuth |
| 監(jiān)控 | Spring Cloud Admin |
| 消息總線 | Spring Cloud Bus |
四、容器
選型如下表:
| 選項 | 首選 |
|---|---|
| 容器 | Docker |
| 容器編排管理 | kubernetes(首選推薦)、Docker Swarm、Apache Mesos |
Kubernetes
Kubernetes也稱為 K8s,是一個開源系統(tǒng),用于自動部署、擴展和管理容器化應用程序,Kubernetes是一個可移植、可擴展的開源平臺,用于管理容器化工作負載和服務,有助于聲明式配置和自動化。它擁有龐大且快速發(fā)展的生態(tài)系統(tǒng)。Kubernetes 服務、支持和工具廣泛可用。Kubernetes 結合了Google 超過 15 年大規(guī)模運行生產(chǎn)工作負載的經(jīng)驗以及來自社區(qū)的最佳創(chuàng)意和實踐。什么是kebernetes?
Docker Swarm
Docker Swarm, Docker的原生集群系統(tǒng)。Docker Swarm 模式內(nèi)置于 Docker 引擎中,用于本地管理稱為 swarm 的Docker引擎集群。使用 Docker CLI 創(chuàng)建 swarm,將應用程序服務部署到 swarm,并管理 swarm 行為。這是 Docker 的第一個容器編排項目。
Kebernetes與Docker Swarm對比
Docker Swarm與K8s對比
五. 應用服務
選型如下表:
| 選項 | 首選 | 備選 |
|---|---|---|
| 消息隊列 | 阿里云RabbitMQ服務 | |
| 廣播式消息隊列 | 阿里云Kafka服務 | |
| 關系型數(shù)據(jù)庫 | 阿里云RDS MySQL服務 | |
| 分布式關系型數(shù)據(jù)庫服務 | Sharding-JDBC | |
| 非關系型數(shù)據(jù)庫 | 阿里云Mongo服務 | |
| 緩存 | 阿里云Redis服務 | |
| 文件服務器 | 阿里云OSS服務 | |
| 短信 | 阿里云短信服務 | |
| 負載均衡 | 阿里云SLB | Nginx |
| 分布式定時任務框架 | XXL-Job | Elastic-Job |
| 日志框架 | ELK | |
| 數(shù)據(jù)訪問 | Mybatis Plus |
六、測試
選型如下表:
| 選項 | 首選 |
|---|---|
| UI | Seleniu(少) |
| 單元測試 | JUnit(中) |
| 接口和性能測試 | JMeter(多) |
七、總結
該篇文章主要是介紹當前比較流行的一些微服務技術棧以及常用的應用服務,僅僅是個人的一些看法,后面還會持續(xù)更新該篇文章內(nèi)容,目前你公司常用的微服務架構有哪些呢?
-
RPC
+關注
關注
0文章
113瀏覽量
12158 -
spring
+關注
關注
0文章
341瀏覽量
15671 -
阿里云
+關注
關注
3文章
1025瀏覽量
45369 -
微服務
+關注
關注
0文章
147瀏覽量
8007
原文標題:聊聊最新微服務架構技術棧選型
文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
微服務架構和CQRS架構基本概念介紹
微服務優(yōu)勢_微服務架構的好處與不足
什么是微服務架構_微服務架構的優(yōu)缺點及應用
微服務軟件架構應用研究綜述
微服務架構中的服務之間如何互相調(diào)用呢?
什么是微服務架構?

微服務架構技術棧選型解讀
評論