一、微服務治理中心框架
Apache Dubbo分布式RPC框架
Spring Cloud Alibaba分布式應用服務開發一站式解決方案
Spring Cloud微服務開發和治理框架
Spring Cloud Tencent一站式微服務解決方案
Apache ServiceComb一站式開源微服務解決方案
二、持續集成CI/CD
三、微服務組件
阿里系
Spring Cloud&Dubbo系
四、容器
Kubernetes
Docker Swarm
五. 應用服務
六、測試
七、總結
目前微服務早已火遍大江南北,對于開發來說,我們時刻關注著技術的迭代更新,而項目采用什么技術棧選型落地是開發、產品都需要關注的事情,該篇文章主要分享一些目前普遍公司都在用的技術棧,快來分享一下你當前所在用的技術吧。
一、微服務治理中心框架
Apache Dubbo分布式RPC框架
Apache Dubbo是一款 RPC 服務開發框架,用于解決微服務架構下的服務治理與通信問題,官方提供了 Java、Golang 等多語言 SDK 實現。使用 Dubbo 開發的微服務原生具備相互之間的遠程地址發現與通信能力, 利用 Dubbo 提供的豐富服務治理特性,可以實現諸如服務發現、負載均衡、流量調度等服務治理訴求。Dubbo 被設計為高度可擴展,用戶可以方便的實現流量攔截、選址的各種定制邏輯。
Spring Cloud Alibaba分布式應用服務開發一站式解決方案
Spring Cloud Alibaba致力于提供微服務開發的一站式解決方案。此項目包含開發分布式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕松使用這些組件來開發分布式應用服務。
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分布式應用系統。
此外,阿里云同時還提供了 Spring Cloud Alibaba 企業版 微服務解決方案,包括無侵入服務治理(全鏈路灰度,無損上下線,離群實例摘除等),企業級 Nacos 注冊配置中心和企業級云原生網關等眾多產品。
Spring Cloud Alibaba與Spring Cloud的關系
在 Spring Cloud 眾多的實現方案中,Spring Cloud Alibaba 憑借其支持組件最多,方案最完善,在 Spring Cloud 生態家族中扮演了重要角色。Spring Cloud Alibaba 與 Spring Cloud 生態其他方案之間對比圖如下:
主要功能
Sentinel
阿里巴巴開源產品,把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
Nacos
阿里巴巴開源產品,一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。
RocketMQ
Apache RocketMQ 基于 Java 的高性能、高吞吐量的分布式消息和流計算平臺。
Dubbo
Apache Dubbo 是一款高性能 Java RPC 框架。
Seata
阿里巴巴開源產品,一個易于使用的高性能微服務分布式事務解決方案。
Alibaba Cloud OSS
阿里云對象存儲服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
Alibaba Cloud SchedulerX
阿里中間件團隊開發的一款分布式任務調度產品,支持周期性的任務與固定時間點觸發任務。
Alibaba Cloud SMS
覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。
Spring Cloud微服務開發和治理框架
Spring Cloud為開發者提供了工具來快速構建分布式系統中的一些常見模式(例如配置管理、服務發現、斷路器、智能路由、微代理、控制總線、一次性令牌、全局鎖、領導選舉、分布式會話,集群狀態)。分布式系統的協調導致了樣板模式,使用 Spring Cloud 開發人員可以快速建立實現這些模式的服務和應用程序
Spring Cloud架構圖
Spring Cloud Tencent一站式微服務解決方案
Spring Cloud Tencent是騰訊開源的一站式微服務解決方案。Spring Cloud Tencent 實現了 Spring Cloud 標準微服務 SPI,開發者可以基于 Spring Cloud Tencent 快速開發 Spring Cloud 微服務架構應用。Spring Cloud Tencent 的核心依托騰訊開源的一站式服務發現與治理平臺 Polarismesh ,實現各種分布式微服務場景。
Spring Cloud Tencent架構圖
Apache ServiceComb一站式開源微服務解決方案
Apache ServiceComb架構圖
Apache ServiceComb 提供了融合開源生態的一站式微服務開源解決方案,致力于幫助企業、用戶和開發者將應用輕松微服務化上云,實現對微服務應用的高效運維管理。
Apache ServiceComb項目介紹:http://servicecomb.incubator.apache.org/cn/docs/introduction
基于 Spring Boot + MyBatis Plus + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能
項目地址:https://github.com/YunaiV/ruoyi-vue-pro
視頻教程:https://doc.iocoder.cn/video/
二、持續集成CI/CD
CI/CD | 配置中心 |
---|---|
Jenkins、Docker Hub、Maven、Nexus、CI/CD | Apollo |
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能
項目地址:https://github.com/YunaiV/yudao-cloud
視頻教程:https://doc.iocoder.cn/video/
三、微服務組件
阿里系
選項 | 組件 |
---|---|
服務調用方式 | OpenFeign |
服務注冊 | Nacos Discovery |
API網關 | Spring Cloud Gateway |
熔斷限流 | Sentinel |
配置中心 | Nacos Config |
消息隊列 | RocketMQ |
分布式事務 | Seata |
分布式服務追蹤 | Spring Cloud Sleuth |
監控 | Spring Cloud Admin |
短信服務 | Alibaba Cloud SMS |
Spring Cloud&Dubbo系
選項 | 組件 |
---|---|
服務調用方式 | feign |
服務注冊 | Eurake、Zookeeper |
API網關 | Spring Cloud Gateway、Zuul |
熔斷限流 | Hystrix |
配置中心 | Apollo、Spring Cloud Config |
分布式服務追蹤 | Spring Cloud Sleuth |
監控 | Spring Cloud Admin |
消息總線 | Spring Cloud Bus |
四、容器
選型如下表:
選項 | 首選 |
---|---|
容器 | Docker |
容器編排管理 | kubernetes(首選推薦)、Docker Swarm、Apache Mesos |
Kubernetes
Kubernetes也稱為 K8s,是一個開源系統,用于自動部署、擴展和管理容器化應用程序,Kubernetes是一個可移植、可擴展的開源平臺,用于管理容器化工作負載和服務,有助于聲明式配置和自動化。它擁有龐大且快速發展的生態系統。Kubernetes 服務、支持和工具廣泛可用。Kubernetes 結合了Google 超過 15 年大規模運行生產工作負載的經驗以及來自社區的最佳創意和實踐。什么是kebernetes?
Docker Swarm
Docker Swarm, Docker的原生集群系統。Docker Swarm 模式內置于 Docker 引擎中,用于本地管理稱為 swarm 的Docker引擎集群。使用 Docker CLI 創建 swarm,將應用程序服務部署到 swarm,并管理 swarm 行為。這是 Docker 的第一個容器編排項目。
Kebernetes與Docker Swarm對比
Docker Swarm與K8s對比
五. 應用服務
選型如下表:
選項 | 首選 | 備選 |
---|---|---|
消息隊列 | 阿里云RabbitMQ服務 | |
廣播式消息隊列 | 阿里云Kafka服務 | |
關系型數據庫 | 阿里云RDS MySQL服務 | |
分布式關系型數據庫服務 | Sharding-JDBC | |
非關系型數據庫 | 阿里云Mongo服務 | |
緩存 | 阿里云Redis服務 | |
文件服務器 | 阿里云OSS服務 | |
短信 | 阿里云短信服務 | |
負載均衡 | 阿里云SLB | Nginx |
分布式定時任務框架 | XXL-Job | Elastic-Job |
日志框架 | ELK | |
數據訪問 | Mybatis Plus |
六、測試
選型如下表:
選項 | 首選 |
---|---|
UI | Seleniu(少) |
單元測試 | JUnit(中) |
接口和性能測試 | JMeter(多) |
七、總結
該篇文章主要是介紹當前比較流行的一些微服務技術棧以及常用的應用服務,僅僅是個人的一些看法,后面還會持續更新該篇文章內容,目前你公司常用的微服務架構有哪些呢?
-
RPC
+關注
關注
0文章
111瀏覽量
11511 -
spring
+關注
關注
0文章
338瀏覽量
14308 -
阿里云
+關注
關注
3文章
940瀏覽量
42962 -
微服務
+關注
關注
0文章
134瀏覽量
7328
原文標題:聊聊最新微服務架構技術棧選型
文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論