一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何構(gòu)建彈性、高可用的微服務(wù)?

虹科網(wǎng)絡(luò)可視化技術(shù) ? 2023-11-26 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于微服務(wù)的應(yīng)用程序可實現(xiàn)戰(zhàn)略性數(shù)字轉(zhuǎn)型和云遷移計劃,對于開發(fā)團(tuán)隊來說,這種架構(gòu)十分重要。那么,如何來構(gòu)建彈性、高可用的微服務(wù)呢?Redis Enterprise給出了一個完美的方案。

文況速覽:

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

為什么微服務(wù)很重要?

Redis Enterprise:微服務(wù)的完美方案

微服務(wù)架構(gòu)的設(shè)計模式

適合微服務(wù)架構(gòu)的 Redis 企業(yè)功能

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

正如著名的微服務(wù)專家 Chris Richardson 所定義的那樣,微服務(wù)架構(gòu)是一種將應(yīng)用程序構(gòu)建為低耦合服務(wù)集合的架構(gòu)風(fēng)格,這些服務(wù)具有高度的可維護(hù)性和可測試性,可獨立部署,受特定業(yè)務(wù)領(lǐng)域的約束,并由小型團(tuán)隊負(fù)責(zé)。微服務(wù)架構(gòu)可以快速、頻繁、可靠地交付大型復(fù)雜應(yīng)用程序。

98bc8d2a-8bef-11ee-9788-92fbcf53809c.png

Monolith架構(gòu) vs. 微服務(wù)架構(gòu)

二、為什么微服務(wù)很重要

基于微服務(wù)的應(yīng)用程序可實現(xiàn)戰(zhàn)略性數(shù)字轉(zhuǎn)型和云遷移計劃。

1.微服務(wù)是一種架構(gòu)風(fēng)格,有助于開發(fā)團(tuán)隊更快地創(chuàng)建更好的軟件,并最大限度地降低應(yīng)用現(xiàn)代化的成本和復(fù)雜性。這種架構(gòu)風(fēng)格及其相關(guān)的軟件開發(fā)文化使微服務(wù)開發(fā)團(tuán)隊能夠按照自己的發(fā)布周期運作,擁抱端到端產(chǎn)品的所有權(quán),并采用基于持續(xù)集成/持續(xù)交付的 DevOps 框架。這樣的好處是,企業(yè)可以縮短新服務(wù)開發(fā)的上線時間,通??蓪⒁栽聻閱挝坏捻椖靠s短至以天為單位。

2.微服務(wù)可加速數(shù)據(jù)層云遷移。這是因為微服務(wù)主要依賴于云原生 NoSQL 數(shù)據(jù)庫。2021 年 IDC InfoBrief 調(diào)查顯示,NoSQL 數(shù)據(jù)庫正在取代內(nèi)部部署的關(guān)系型數(shù)據(jù)庫,因為后者不是為云或獨立發(fā)布周期而構(gòu)建的。

3.此外,一些企業(yè)無法一次性將其傳統(tǒng)的單體應(yīng)用遷移到云原生應(yīng)用。微服務(wù)可實現(xiàn)子域從單體架構(gòu)向現(xiàn)代技術(shù)棧進(jìn)行增量遷移。

三、Redis Enterprise:微服務(wù)的完美方案

1.微服務(wù)規(guī)模的性能

在微服務(wù)環(huán)境中,需要實時運行的服務(wù)必須平衡網(wǎng)絡(luò)開銷。Redis Enterprise 為所有 Redis 數(shù)據(jù)類型和模型提供亞毫秒級延遲。此外,它可以立即線性擴(kuò)展,以滿足幾乎任何吞吐量需求。

2.為容錯和恢復(fù)而設(shè)計

為確保您的應(yīng)用程序具有故障恢復(fù)能力,Redis Enterprise 采用了無共享集群架構(gòu)。它在各個故障級別都具有容錯能力:在進(jìn)程層面、單個節(jié)點甚至跨基礎(chǔ)架構(gòu)可用區(qū)自動進(jìn)行故障切換。它還包括可調(diào)整的持久性和災(zāi)難恢復(fù)能力。

3.利用快速靈活的數(shù)據(jù)模型降低復(fù)雜性

Redis Enterprise允許開發(fā)人員為他們的微服務(wù)架構(gòu)和領(lǐng)域驅(qū)動設(shè)計選擇最適合他們的性能和數(shù)據(jù)訪問要求的數(shù)據(jù)模型,同時在單個數(shù)據(jù)平臺上保持多租戶部署的隔離。

4.利用原生 Kubernetes 部署簡化操作

Redis Enterprise 提供統(tǒng)一的操作界面,可減少技術(shù)學(xué)習(xí)成本、簡化操作并降低服務(wù)延遲。針對 Kubernetes 的 Redis Enterprise 運營商為您提供一致的自動化部署,從而降低風(fēng)險。這讓開發(fā)團(tuán)隊能夠?qū)W⒂趧?chuàng)新和業(yè)務(wù)價值。

5.可跨云跨地域適應(yīng)

Redis Enterprise 可部署在任何地方:任何云平臺、內(nèi)部部署、多云或混合云架構(gòu)。

四、微服務(wù)架構(gòu)的設(shè)計模式

1.微服務(wù)查詢緩存

獨立或有界上下文是微服務(wù)架構(gòu)的一個重要特征。作為領(lǐng)域驅(qū)動設(shè)計的一部分,每個服務(wù)都可以擁有一個專用數(shù)據(jù)庫,該數(shù)據(jù)庫有自己獨特的數(shù)據(jù)模型和SLA(Service Level Agreement,服務(wù)水平協(xié)議)性能目標(biāo)。查詢緩存是一種常用于縮短微服務(wù)響應(yīng)時間的緩存模式,其工作原理是在每個微服務(wù)旁部署 Redis Enterprise 緩存,以提供單一業(yè)務(wù)上下文中所需的數(shù)據(jù)。(也就是說,它只服務(wù)于一個微服務(wù))。

Redis Smart Cache 是一個開源庫,可將緩存無縫添加到任何符合 JDBC 標(biāo)準(zhǔn)的平臺、應(yīng)用程序或微服務(wù)中,在提高查詢性能的同時降低操作復(fù)雜性,而且無需更改應(yīng)用程序代碼。Redis Enterprise 支持多種數(shù)據(jù)模型,可輕松實現(xiàn)多租戶部署,保持?jǐn)?shù)據(jù)隔離的同時,不降低性能。

99852ef6-8bef-11ee-9788-92fbcf53809c.png

2.通過 CQRS 緩存跨域共享數(shù)據(jù)

微服務(wù)需要快速訪問數(shù)據(jù),但當(dāng)數(shù)十或數(shù)百個微服務(wù)試圖從同一個緩慢的磁盤數(shù)據(jù)庫中讀取數(shù)據(jù)時,就會產(chǎn)生許多問題??缬驍?shù)據(jù)需要實時提供給每個微服務(wù),而且不能超出其重點業(yè)務(wù)環(huán)境和目標(biāo)的范圍。

命令查詢責(zé)任隔離(Command-Query Responsibility Segregation, CQRS)是微服務(wù)架構(gòu)中一種重要的預(yù)取緩存模式,它將讀?。ú樵儯┖蛯懭朊罘蛛x開來,這使應(yīng)用程序能夠?qū)?shù)據(jù)寫入速度較慢的基于磁盤的 SQL 數(shù)據(jù)庫,同時使用 Redis Enterprise 中集成的變更數(shù)據(jù)捕獲(CDC)功能預(yù)取和緩存該數(shù)據(jù),以實現(xiàn)高速讀取。這樣,其他需要數(shù)據(jù)的微服務(wù)就能立即獲得這些數(shù)據(jù)。

999a070e-8bef-11ee-9788-92fbcf53809c.png

3.全局?jǐn)?shù)據(jù)的 API 網(wǎng)關(guān)緩存

微服務(wù)應(yīng)用程序可以在 API 網(wǎng)關(guān)級別緩存全局訪問數(shù)據(jù),以分發(fā)和加速所有服務(wù)都會訪問的數(shù)據(jù)。通常情況下,這些數(shù)據(jù)包括會話數(shù)據(jù)(如用戶 ID 和偏好設(shè)置)和驗證數(shù)據(jù)(令牌、授權(quán)狀態(tài)和權(quán)限)。這樣,所有服務(wù)都能實時獲得頻繁請求的數(shù)據(jù)。結(jié)果如何?減少應(yīng)用延遲,同時不打破每個微服務(wù)業(yè)務(wù)上下文的界限。

在 API 網(wǎng)關(guān)上還可以使用 Redis Enterprise 實現(xiàn)速率限制,即在一定時間范圍內(nèi)對 API 請求的數(shù)量進(jìn)行計量。這可以防止系統(tǒng)超載,并防止 DDoS 攻擊。

99b5c188-8bef-11ee-9788-92fbcf53809c.png

4.用于服務(wù)間通信的異步消息傳遞

微服務(wù)必須在不破壞隔離的情況下相互通信狀態(tài)、事件和數(shù)據(jù),而且必須保持解耦。常見的解決方案是在架構(gòu)中引入發(fā)布-訂閱消息代理,即讓服務(wù)間通信由事件驅(qū)動并最終保持一致,并將微服務(wù)之間的每條消息都視為一個事件。

Redis Streams 是一種不可變的按時間排序的日志數(shù)據(jù)結(jié)構(gòu),可讓服務(wù)(生產(chǎn)者)發(fā)布異步消息,多個消費者可訂閱這些消息。可以對其進(jìn)行配置,以處理不同的交付保證、支持消費者群組,并應(yīng)用與 Apache Kafka 主題分區(qū)類似的其他功能。更棒的是,Redis Streams 可幫助在后端創(chuàng)建報告、分析、審計和取證分析。

99e17ddc-8bef-11ee-9788-92fbcf53809c.png

五、適合微服務(wù)架構(gòu)的 Redis 企業(yè)功能

1.雙活備份

微服務(wù)架構(gòu)有許相互多連接的服務(wù),但它面臨著與單體應(yīng)用程序相同的性能需求。為盡量減少延遲,數(shù)據(jù)應(yīng)盡可能靠近服務(wù)。您還需要確保數(shù)據(jù)庫在發(fā)生故障或更新沖突時彼此保持一致。Redis Enterprise 可以部署為雙活、無沖突復(fù)制的數(shù)據(jù)庫,以處理來自多個本地服務(wù)安裝的更新,而不會影響延遲或數(shù)據(jù)一致性,并在發(fā)生故障時提供連續(xù)性服務(wù)。

2.多種數(shù)據(jù)模型

Redis Enterprise 提供多種數(shù)據(jù)結(jié)構(gòu)(哈希值、字符串、流、列表等)和模型,包括 JSON、搜索、時間序列和圖形,可讓您選擇最適合您的微服務(wù)領(lǐng)域、性能和數(shù)據(jù)訪問要求的數(shù)據(jù)模型,這一切都在一個數(shù)據(jù)平臺中實現(xiàn)。

3.多用戶數(shù)據(jù)庫

在微服務(wù)架構(gòu)的數(shù)據(jù)庫設(shè)計中,單個 Redis Enterprise 集群可為多個不同的服務(wù)提供數(shù)據(jù)庫,每個服務(wù)都有自己的獨立實例,并針對給定的工作負(fù)載進(jìn)行了調(diào)整。每個數(shù)據(jù)庫實例的部署、擴(kuò)展和建模都獨立于其他實例,同時利用相同的集群環(huán)境,在不增加操作復(fù)雜性的情況下隔離服務(wù)之間的數(shù)據(jù)。

4.靈活跨云

微服務(wù)提供了極大的技術(shù)靈活性,選擇在哪里部署數(shù)據(jù)庫也不例外。Redis Enterprise 可以部署在任何地方:任何云平臺、企業(yè)內(nèi)部、多云或混合云架構(gòu)。它還可在 Kubernetes、Pivotal Kubernetes Service (PKS) 和 Red Hat OpenShift 上使用。

5.本地 Kubernetes 容器編排和管理

容器與企業(yè)部署微服務(wù)應(yīng)用程序密切相關(guān),并有助于企業(yè)部署微服務(wù)應(yīng)用程序。Kubernetes 是容器部署、調(diào)度和編排的標(biāo)準(zhǔn)平臺。Redis 是在容器上運行的頂級數(shù)據(jù)庫技術(shù),Docker hub 啟動次數(shù)超過 20 億次。用于 Kubernetes 的 Redis Enterprise Operator 提供:自動可擴(kuò)展性、持久存儲卷、簡化的數(shù)據(jù)庫端點管理和零停機(jī)時間滾動升級。它可在多個 Kubernetes 平臺和云托管服務(wù)上使用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    528

    瀏覽量

    25980
  • 數(shù)字化
    +關(guān)注

    關(guān)注

    8

    文章

    9513

    瀏覽量

    63559
  • 微服務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    145

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    企業(yè)使用NVIDIA NeMo微服務(wù)構(gòu)建AI智能體平臺

    已發(fā)布的 NeMo 微服務(wù)可與合作伙伴平臺集成,作為創(chuàng)建 AI 智能體的構(gòu)建模塊,使用商業(yè)智能與強(qiáng)大的邏輯推理模型 (包括 NVIDIA Llama Nemotron) 處理更多任務(wù)。
    的頭像 發(fā)表于 04-27 15:05 ?519次閱讀

    微服務(wù)器架構(gòu)幾種典型的基礎(chǔ)框架,你了解嗎?

    ;Akka用Scala寫,處理能力強(qiáng)。還有如.NETCore、ServiceFabric等其他框架,它們各自在協(xié)議、語言支持、功能特點等方面有所不同,開發(fā)者可按需選擇構(gòu)建微服務(wù)。
    的頭像 發(fā)表于 03-04 11:05 ?422次閱讀

    容器集群是什么意思?和服務(wù)器有什么區(qū)別

    容器集群將多個容器組織起來,構(gòu)建可伸縮、可用的分布式系統(tǒng)。它具備資源動態(tài)分配、服務(wù)自動發(fā)現(xiàn)、負(fù)載均衡等特點,優(yōu)勢明顯,包括
    的頭像 發(fā)表于 02-25 10:54 ?314次閱讀

    NVIDIA NeMo Guardrails引入三項全新NIM微服務(wù)

    NVIDIA NeMo Guardrails 包含全新 NVIDIA NIM 微服務(wù),能夠為各行業(yè)構(gòu)建 AI 的企業(yè)提高 AI 的準(zhǔn)確性、安全性和可控性。
    的頭像 發(fā)表于 01-18 09:39 ?708次閱讀

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

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

    微服務(wù)容器化部署好處多嗎?

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

    寶藏級微服務(wù)架構(gòu)工具合集

    構(gòu)建,Eclipse Vert.X提供多語言支持且資源高效;Kubernetes是強(qiáng)大的容器編排工具,Tyk是開源API管理平臺;RabbitMQ幫助微服務(wù)間通信,Apache Kafka則適用于處理
    的頭像 發(fā)表于 12-21 16:33 ?616次閱讀

    k8s微服務(wù)架構(gòu)就是云原生嗎?兩者是什么關(guān)系

    k8s微服務(wù)架構(gòu)就是云原生嗎?K8s微服務(wù)架構(gòu)并不等同于云原生,但兩者之間存在密切的聯(lián)系。Kubernetes在云原生架構(gòu)中扮演著核心組件的角色,它簡化了容器化應(yīng)用程序的管理,提供了彈性、自動化
    的頭像 發(fā)表于 11-25 09:39 ?527次閱讀

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

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

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

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

    彈性服務(wù)器怎么樣?好用嗎?

    答案是肯定的。彈性服務(wù)器以其彈性伸縮、可用性、靈活性、高性能以及安全防護(hù)等特性,為用戶提供了高效、可靠、靈活的計算
    的頭像 發(fā)表于 10-15 16:15 ?477次閱讀

    入門級攻略:如何容器化部署微服務(wù)

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

    借助NVIDIA Metropolis微服務(wù)構(gòu)建視覺AI應(yīng)用

    伴隨著視覺 AI 復(fù)雜性的增加,精簡的部署解決方案已成為優(yōu)化空間和流程的關(guān)鍵。NVIDIA 能夠加快企業(yè)的開發(fā)速度,借助 NVIDIA Metropolis AI 工作流和微服務(wù),企業(yè)只需數(shù)周就能將想法變成現(xiàn)實,而原本這項工作需要耗費數(shù)月時間。
    的頭像 發(fā)表于 09-09 09:46 ?772次閱讀
    借助NVIDIA Metropolis<b class='flag-5'>微服務(wù)</b><b class='flag-5'>構(gòu)建</b>視覺AI應(yīng)用

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

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

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

    全球領(lǐng)先的創(chuàng)意和制作服務(wù)機(jī)構(gòu)率先采用 OpenUSD 和 NVIDIA NIM 微服務(wù)來創(chuàng)建精準(zhǔn)的品牌視覺。
    的頭像 發(fā)表于 08-01 14:33 ?760次閱讀