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