0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

微服務(wù)架構(gòu)技術(shù)棧選型解讀

jf_ro2CN3Fa ? 2022-12-29 14:35 ? 次閱讀

一、微服務(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)系

c4816756-86c7-11ed-bfe3-dac502259ad0.jpg

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

c48f6dce-86c7-11ed-bfe3-dac502259ad0.jpg

主要功能

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)圖

c4aafa30-86c7-11ed-bfe3-dac502259ad0.jpg

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)圖

c4d7171e-86c7-11ed-bfe3-dac502259ad0.jpg

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)維管理。

c4e4f2b2-86c7-11ed-bfe3-dac502259ad0.jpg

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ì)比

c501144c-86c7-11ed-bfe3-dac502259ad0.jpgDocker 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)有哪些呢?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RPC
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    微服務(wù)架構(gòu)和CQRS架構(gòu)基本概念介紹

    微服務(wù)架構(gòu)現(xiàn)在很熱,到處可以看到各大互聯(lián)網(wǎng)公司的微服務(wù)實(shí)踐的分享總結(jié)。但是,我今天的分享和微服務(wù)沒(méi)有關(guān)系,希望可以帶給大家一些新的東西。如果一定要說(shuō)
    發(fā)表于 05-22 09:03

    微服務(wù)與容器技術(shù)實(shí)踐

    基于微服務(wù)架構(gòu)技術(shù)實(shí)踐(點(diǎn)擊下載演講PPT) 普元信息主任架構(gòu)師顧偉在演講中,分享了他們對(duì)微服務(wù)架構(gòu)
    發(fā)表于 10-10 10:23 ?1次下載
    <b class='flag-5'>微服務(wù)</b>與容器<b class='flag-5'>技術(shù)</b>實(shí)踐

    微服務(wù)優(yōu)勢(shì)_微服務(wù)架構(gòu)的好處與不足

    微服務(wù)是用一組小服務(wù)的方式來(lái)構(gòu)建一個(gè)應(yīng)用,服務(wù)獨(dú)立運(yùn)行在不同的進(jìn)程中,服務(wù)之間通過(guò)輕量的通訊機(jī)制(如RESTful接口)來(lái)交互,并且服務(wù)可以
    發(fā)表于 02-23 11:24 ?4401次閱讀

    什么是微服務(wù)架構(gòu)_微服務(wù)架構(gòu)的優(yōu)缺點(diǎn)及應(yīng)用

    什么是微服務(wù)架構(gòu) 簡(jiǎn)單地說(shuō),微服務(wù)是系統(tǒng)架構(gòu)上的一種設(shè)計(jì)風(fēng)格, 它的主旨是將一個(gè)原本獨(dú)立的系統(tǒng)拆分成多個(gè)小型服務(wù),這些小型
    的頭像 發(fā)表于 06-02 10:03 ?1.7w次閱讀
    什么是<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>_<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>的優(yōu)缺點(diǎn)及應(yīng)用

    微服務(wù)架構(gòu)有哪些_微服務(wù)架構(gòu)設(shè)計(jì)模式

    小伙伴們知道常用的微服務(wù)架構(gòu)框架有哪些嗎?上回我們介紹了一些常用的微服務(wù)架構(gòu)設(shè)計(jì)模式,這次我們就來(lái)了解一下一些常用的微服務(wù)
    的頭像 發(fā)表于 05-17 17:06 ?2.9w次閱讀
    <b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>有哪些_<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>設(shè)計(jì)模式

    微服務(wù)架構(gòu)的特點(diǎn)_微服務(wù)架構(gòu)適用場(chǎng)景

     微服務(wù)架構(gòu)是一項(xiàng)在云中部署應(yīng)用和服務(wù)的新技術(shù)。
    的頭像 發(fā)表于 05-17 17:28 ?5181次閱讀

    微服務(wù)軟件架構(gòu)應(yīng)用研究綜述

    自2014年,微服務(wù)架構(gòu)概念經(jīng)Martin Flower提出以來(lái),受到廣泛關(guān)注,為更好了解微服務(wù)架構(gòu)風(fēng)格,本文首先分析、梳理了軟件架構(gòu)的發(fā)展
    發(fā)表于 05-26 09:26 ?2次下載

    微服務(wù)架構(gòu)中的服務(wù)之間如何互相調(diào)用呢?

    微服務(wù)架構(gòu)中,需要調(diào)用很多服務(wù)才能完成一項(xiàng)功能。服務(wù)之間如何互相調(diào)用就變成微服務(wù)架構(gòu)中的一個(gè)關(guān)
    的頭像 發(fā)表于 01-31 09:46 ?2237次閱讀

    什么是微服務(wù)架構(gòu)

    在Medium,我們的技術(shù)堆棧始于2012年的單片Node.js應(yīng)用程序。我們已經(jīng)構(gòu)建了幾個(gè)衛(wèi)星服務(wù),但我們還沒(méi)有制定一個(gè)系統(tǒng)地采用微服務(wù)架構(gòu)的策略。隨著系統(tǒng)變得越來(lái)越復(fù)雜并且團(tuán)隊(duì)不斷
    的頭像 發(fā)表于 02-24 11:15 ?1362次閱讀
    什么是<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>?

    從分層架構(gòu)微服務(wù)架構(gòu)介紹(五)

    本文要介紹的是 服務(wù)架構(gòu) (Service-Based Architecture, SBA )。 SBA 可以看成是單體架構(gòu)微服務(wù)架構(gòu)
    的頭像 發(fā)表于 05-10 17:02 ?862次閱讀
    從分層<b class='flag-5'>架構(gòu)</b>到<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>介紹(五)

    springcloud微服務(wù)架構(gòu)

    Spring Cloud是一個(gè)開(kāi)源的微服務(wù)架構(gòu)框架,它提供了一系列工具和組件,用于構(gòu)建和管理分布式系統(tǒng)中的微服務(wù)。它基于Spring框架,旨在通過(guò)簡(jiǎn)化開(kāi)發(fā)過(guò)程和降低系統(tǒng)復(fù)雜性來(lái)幫助開(kāi)發(fā)人員構(gòu)建彈性
    的頭像 發(fā)表于 11-23 09:24 ?1397次閱讀

    docker微服務(wù)架構(gòu)實(shí)戰(zhàn)

    隨著云計(jì)算和容器化技術(shù)的快速發(fā)展,微服務(wù)架構(gòu)在軟件開(kāi)發(fā)領(lǐng)域中變得越來(lái)越流行。微服務(wù)架構(gòu)將一個(gè)大型的軟件應(yīng)用拆分成多個(gè)小型的、獨(dú)立部署的
    的頭像 發(fā)表于 11-23 09:26 ?668次閱讀

    設(shè)計(jì)微服務(wù)架構(gòu)的原則

    微服務(wù)是一種軟件架構(gòu)策略,有利于改善整體性能和可擴(kuò)展性。你可能會(huì)想,我的團(tuán)隊(duì)需不需要采用微服務(wù),設(shè)計(jì)微服務(wù)架構(gòu)有哪些原則?本文會(huì)給你一些靈感
    的頭像 發(fā)表于 11-26 08:05 ?612次閱讀
    設(shè)計(jì)<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>的原則

    微服務(wù)架構(gòu)與容器云的關(guān)系與區(qū)別

    微服務(wù)架構(gòu)與容器云密切相關(guān)又有所區(qū)別。微服務(wù)將大型應(yīng)用拆分為小型、獨(dú)立的服務(wù),而容器云基于容器技術(shù),為
    的頭像 發(fā)表于 10-21 17:28 ?254次閱讀

    SSR與微服務(wù)架構(gòu)的結(jié)合應(yīng)用

    隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,前端技術(shù)不斷更新迭代,后端架構(gòu)也經(jīng)歷了從單體應(yīng)用到微服務(wù)的變革。在這個(gè)過(guò)程中,
    的頭像 發(fā)表于 11-18 11:34 ?357次閱讀