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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

微服務架構有哪些_微服務架構設計模式

姚小熊27 ? 來源:奇O工具.Java機械師 ? 作者:奇O工具.Java機械師 ? 2021-05-17 17:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

微服務架構有哪些

小伙伴們知道常用的微服務架構框架有哪些嗎?上回我們介紹了一些常用的微服務架構設計模式,這次我們就來了解一下一些常用的微服務架構框架吧。

一、Dubbo

Dubbo框架是由阿里巴巴開發(fā)的開源式的分布式服務化治理框架,它會通過RPC請求方式訪問。Dubbo是在阿里巴巴的電商平臺中逐漸探索演進所形成的,經(jīng)歷過復雜業(yè)務的高并發(fā)挑戰(zhàn),現(xiàn)在許多大企業(yè)都使用的都是Dubbo。

二、Dropwizard

Dropwizard框架集中了Java生態(tài)系統(tǒng)中各個問題域里最好的組件集成于一身,它能夠極快的打造一個Rest風格的后臺,還可以整合Dropwizard核心以外的項目。與Spring Boot相較,Dropwizard在輕量化上更有優(yōu)勢。

三、Akka

Akka是一個用Scala編寫的庫,可以用在有簡化編寫容錯、高可伸縮性的Java和Scala的Actor模型,使用Akka能夠實現(xiàn)微服務集群。

四、Spring Boot

Spring Boot的設計目的是簡化新Spring應用初始搭建以及開發(fā)過程,可以說是目前大眾中最受歡迎的微服務開發(fā)框架。利用Spring Boot開發(fā)的便捷度簡化分布式系統(tǒng)基礎設施的開發(fā),比如像配置中心、注冊、負載均衡等方面都可以做到一鍵啟動和一鍵部署。

五、Spring Cloud

Spring Cloud不是一個單獨框架,它是一整個系列的框架合計,它是基于HTTP(s)的RETS服務構建服務體系的。Spring Cloud能夠幫助架構師構建一整套完整的微服務架構技術生態(tài)鏈。

六、Node.js相關微服務框架

Seneca

Seneca是Node.js的微服務框架開發(fā)工具,適用于編寫可用于產(chǎn)品環(huán)境的代碼。

Hapi/Restify/LoopBack

三種Node.js相關微服務框架,它們三個分工不同,前兩種適合開發(fā)簡單的微服務后端系統(tǒng),第三種更適合用在大型復雜應用開發(fā),還可以用在現(xiàn)有微服務上的構建。

七、Python相關微服務框架

Python相關微服務架構較少,一般使用較多的都是Nameko。Nameko使得微服務實現(xiàn)變得更加簡單,同時也提供了非常多的功能,如負載均衡、服務發(fā)現(xiàn)及依賴自動注入等,使用起來非常方便,但美中不足的有限速、超時和權限機制不完善等缺點。

微服務架構設計模式

1.聚合器微服務設計模式

這是一種最常見也最簡單的設計模式

聚合器調用多個服務實現(xiàn)應用程序所需的功能。它可以是一個簡單的 WEB 頁面,將檢索到的數(shù)據(jù)進行處理展示。它也可以是一個更高層次的組合微服務,對檢索到的數(shù)據(jù)增加業(yè)務邏輯后進一步發(fā)布成一個新的微服務,這符合DRY原則。另外,每個服務都有自己的緩存和數(shù)據(jù)庫。如果聚合器是一個組合服務,那么它也有自己的緩存和數(shù)據(jù)庫。聚合器可以沿X軸和Z軸獨立擴展。

2.代理微服務設計模式

這是聚合模式的一個變種,如下圖所示

在這種情況下,客戶端并不聚合數(shù)據(jù),但會根據(jù)業(yè)務需求的差別調用不同的微服務。代理可以僅僅委派請求,也可以進行數(shù)據(jù)轉換工作。

3.鏈式微服務設計模式

這種模式在接收到請求后會產(chǎn)生一個經(jīng)過合并的響應,如下圖所示

在這種情況下,服務A接收到請求后會與服務B進行通信,類似地,服務B會同服務C進行通信。所有服務都使用同步消息傳遞。在整個鏈式調用完成之前,客戶端會一直阻塞。因此,服務調用鏈不宜過長,以免客戶端長時間等待。

4.分支微服務設計模式

這種模式是聚合器模式的擴展,允許同時調用兩個微服務鏈,如下圖所示

5.數(shù)據(jù)共享微服務設計模式

自治是微服務的設計原則之一,就是說微服務是全棧式服務。但在重構現(xiàn)有的“單體應用(Monolithic Application)”時,SQL 數(shù)據(jù)庫反規(guī)范化可能會導致數(shù)據(jù)重復和不一致。因此,在單體應用到微服務架構的過渡階段,可以使用這種設計模式,如下圖所示

在這種情況下,部分微服務可能會共享緩存和數(shù)據(jù)庫存儲。不過,這只有在兩個服務之間存在強耦合關系時才可以。對于基于微服務的新建應用程序而言,這是一種反模式。

6.異步消息傳遞微服務設計模式

雖然 REST 設計模式非常流行,但它是同步的,會造成阻塞。因此部分基于微服務的架構可能會選擇使用消息隊列代替 REST 請求/響應,如下圖所示

責任編輯:YYX

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)共享

    關注

    0

    文章

    56

    瀏覽量

    11028
  • 微服務架構
    +關注

    關注

    0

    文章

    26

    瀏覽量

    3073
  • Dubbo
    +關注

    關注

    0

    文章

    20

    瀏覽量

    3304
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    微服務架構幾種典型的基礎框架,你了解嗎?

    SpringCloud、Dubbo、Dropwizard、Akka等是常見微服務框架。SpringCloud基于SpringBoot,生態(tài)豐富;Dropwizard輕量且繼承SpringBoot優(yōu)點
    的頭像 發(fā)表于 03-04 11:05 ?375次閱讀

    NVIDIA 發(fā)布保障代理式 AI 應用安全的 NIM 微服務

    NVIDIA NeMo Guardrails 包含全新 NVIDIA NIM 微服務,能夠為各行業(yè)構建 AI 的企業(yè)提高 AI 的準確性、安全性和可控性。 ? AI 智能體有望成為能夠完成各種任務
    發(fā)表于 01-17 16:29 ?147次閱讀

    微服務容器化部署好處多嗎?

    微服務容器化部署好處很多,包括環(huán)境一致性、資源高效利用、快速部署與啟動、隔離性與安全性、版本控制與回滾以及持續(xù)集成與持續(xù)部署。這些優(yōu)勢助力應用可靠穩(wěn)定運行,提升開發(fā)運維效率,是現(xiàn)代軟件架構的優(yōu)質選擇。UU云小編認為
    的頭像 發(fā)表于 01-17 10:22 ?305次閱讀

    容器化能替代微服務嗎?兩者何區(qū)別

    容器化不能替代微服務,但它是微服務的解決方案之一。微服務架構的核心在于將大型應用程序拆分為一系列小型、獨立的服務,每個
    的頭像 發(fā)表于 01-13 10:40 ?388次閱讀

    寶藏級微服務架構工具合集

    寶藏級熱門微服務架構工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka等。其中,Spring Boot簡化了微服務
    的頭像 發(fā)表于 12-21 16:33 ?583次閱讀

    k8s微服務架構就是云原生嗎?兩者是什么關系

    k8s微服務架構就是云原生嗎?K8s微服務架構并不等同于云原生,但兩者之間存在密切的聯(lián)系。Kubernetes在云原生架構中扮演著核心組件的
    的頭像 發(fā)表于 11-25 09:39 ?488次閱讀

    SSR與微服務架構的結合應用

    隨著互聯(lián)網(wǎng)技術的快速發(fā)展,前端技術棧不斷更新迭代,后端架構也經(jīng)歷了從單體應用到微服務的變革。在這個過程中,服務端渲染(SSR)作為一種提升頁面加載速度和SEO性能的技術,與微服務
    的頭像 發(fā)表于 11-18 11:34 ?787次閱讀

    架構與設計 常見微服務分層架構的區(qū)別和落地實踐

    架構風格越傾向于清晰的職責定位,且讓領域模型成為架構的核心。 基于這些架構風格,在軟件架構設計過程中又有非常多的架構分層模型。 傳統(tǒng)三層
    的頭像 發(fā)表于 10-22 15:34 ?601次閱讀
    <b class='flag-5'>架構</b>與設計 常見<b class='flag-5'>微服務</b>分層<b class='flag-5'>架構</b>的區(qū)別和落地實踐

    微服務架構與容器云的關系與區(qū)別

    微服務架構與容器云密切相關又有所區(qū)別。微服務將大型應用拆分為小型、獨立的服務,而容器云基于容器技術,為微服務提供構建、發(fā)布和運行的平臺。區(qū)別
    的頭像 發(fā)表于 10-21 17:28 ?514次閱讀

    入門級攻略:如何容器化部署微服務?

    第一步理解容器化基礎,第二步創(chuàng)建Dockerfile,第三步構建推送鏡像,第四步部署微服務,第五步管理微服務、第六步優(yōu)化更新。容器化部署微服務是現(xiàn)代軟件開發(fā)中的一種高效方法,可提供良好的可移植性、可擴展性和管理性。容器化部署
    的頭像 發(fā)表于 10-09 10:08 ?360次閱讀

    服務器而言,ARM架構與X86架構什么區(qū)別?各自的優(yōu)勢在哪里?

    ,x86 架構服務器在市場占主導,強大處理能力和廣泛軟件兼容性,廣泛用于企業(yè)數(shù)據(jù)中心。ARM 架構服務器近年崛起,憑借低功耗、高效能優(yōu)勢在
    的頭像 發(fā)表于 09-09 14:05 ?2865次閱讀

    Proxyless的多活流量和微服務治理

    1. 引言 1.1 項目的背景及意義 在當今的微服務架構中,應用程序通常被拆分成多個獨立的服務,這些服務通過網(wǎng)絡進行通信。這種架構的優(yōu)勢在于
    的頭像 發(fā)表于 08-28 16:54 ?1953次閱讀
    Proxyless的多活流量和<b class='flag-5'>微服務</b>治理

    NVIDIA NIM微服務帶來巨大優(yōu)勢

    服務通過熱門 AI 模型為數(shù)百萬開發(fā)者帶來高達 5 倍的 token 效率提升,使他們能夠立即訪問在 NVIDIA DGX Cloud 上運行的 NIM 微服務。
    的頭像 發(fā)表于 08-23 15:20 ?912次閱讀

    采用OpenUSD和NVIDIA NIM微服務創(chuàng)建精準品牌視覺

    全球領先的創(chuàng)意和制作服務機構率先采用 OpenUSD 和 NVIDIA NIM 微服務來創(chuàng)建精準的品牌視覺。
    的頭像 發(fā)表于 08-01 14:33 ?694次閱讀

    全新 NVIDIA NeMo Retriever微服務大幅提升LLM的準確性和吞吐量

    企業(yè)能夠通過提供檢索增強生成功能的生產(chǎn)就緒型 NVIDIA NIM 推理微服務,充分挖掘業(yè)務數(shù)據(jù)的價值。這些微服務現(xiàn)已集成到 Cohesity、DataStax、NetApp 和 Snowflake 平臺中。
    的頭像 發(fā)表于 07-26 11:13 ?1230次閱讀
    全新 NVIDIA NeMo Retriever<b class='flag-5'>微服務</b>大幅提升LLM的準確性和吞吐量

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品