chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何構建彈性、高可用的微服務?

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

掃碼添加小助手

加入工程師交流群

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

文況速覽:

什么是微服務架構?

為什么微服務很重要?

Redis Enterprise:微服務的完美方案

微服務架構的設計模式

適合微服務架構的 Redis 企業(yè)功能

一、什么是微服務架構

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

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

Monolith架構 vs. 微服務架構

二、為什么微服務很重要

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

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

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

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

三、Redis Enterprise:微服務的完美方案

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

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

2.為容錯和恢復而設計

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

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

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

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

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

5.可跨云跨地域適應

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

四、微服務架構的設計模式

1.微服務查詢緩存

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

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

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

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

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

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

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

3.全局數(shù)據(jù)的 API 網(wǎng)關緩存

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

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

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

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

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

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

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

五、適合微服務架構的 Redis 企業(yè)功能

1.雙活備份

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

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

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

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

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

4.靈活跨云

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

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

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

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

    關注

    1

    文章

    532

    瀏覽量

    26500
  • 數(shù)字化
    +關注

    關注

    8

    文章

    10286

    瀏覽量

    66489
  • 微服務
    +關注

    關注

    0

    文章

    147

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何基于Nginx構建微服務網(wǎng)關

    今天,我將分享我們團隊如何基于Nginx構建了一個日均處理10億+請求的微服務網(wǎng)關,以及踩過的那些坑。這套方案已經(jīng)穩(wěn)定運行2年+,經(jīng)歷過多次大促考驗。
    的頭像 發(fā)表于 09-02 16:29 ?607次閱讀

    華納云:海外服務器負載均衡與可用架構設計

    在現(xiàn)代互聯(lián)網(wǎng)應用中,海外服務器承擔著跨境業(yè)務、并發(fā)請求和實時數(shù)據(jù)傳輸?shù)年P鍵角色。單臺服務器難以支撐大量并發(fā)請求,一旦發(fā)生故障,可能導致服務中斷和業(yè)務損失。因此,合理設計負載均衡與
    的頭像 發(fā)表于 08-28 18:32 ?469次閱讀

    Jtti海外VPS微服務架構下的日志采集與分析優(yōu)化方案

    隨著跨境業(yè)務和分布式應用的普及,越來越多的企業(yè)在海外VPS上構建微服務架構,以提升系統(tǒng)擴展性和靈活性。然而,微服務化帶來了一個新的挑戰(zhàn):日志數(shù)據(jù)分散在多個服務和節(jié)點中,若缺乏統(tǒng)一采集與
    的頭像 發(fā)表于 08-27 17:13 ?405次閱讀

    深入剖析RabbitMQ可用架構設計

    微服務架構中,消息隊列故障導致的系統(tǒng)不可用率高達27%!如何構建一個真正可靠的消息中間件架構?本文將深入剖析RabbitMQ可用設計的核
    的頭像 發(fā)表于 08-18 11:19 ?688次閱讀

    如何構建可用Prometheus監(jiān)控體系

    在云原生時代,傳統(tǒng)監(jiān)控工具已經(jīng)無法滿足微服務架構的復雜需求。Prometheus憑借其Pull模式、多維數(shù)據(jù)模型和強大的查詢語言PromQL,成為了CNCF畢業(yè)項目中的監(jiān)控標桿。
    的頭像 發(fā)表于 08-01 09:10 ?607次閱讀

    電商API的微服務架構優(yōu)化策略

    ,電商API在并發(fā)、低延遲和數(shù)據(jù)一致性方面面臨嚴峻挑戰(zhàn)。本文將從基礎概念出發(fā),逐步分析優(yōu)化策略,幫助開發(fā)者構建高性能、可靠的電商API系統(tǒng)。 1. 微服務架構在電商中的應用 微服務
    的頭像 發(fā)表于 07-23 14:30 ?384次閱讀
    電商API的<b class='flag-5'>微服務</b>架構優(yōu)化策略

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

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

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

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

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

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

    NVIDIA NeMo Guardrails引入三項全新NIM微服務

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

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

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

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

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

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

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

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

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

    NVIDIA NIM微服務登陸亞馬遜云科技

    經(jīng)過優(yōu)化的 NIM 微服務現(xiàn)可在 Amazon Bedrock Marketplace、SageMaker JumpStart 和 AWS Marketplace 上獲取,用于各種 NVIDIA 和生態(tài)系統(tǒng)模型。
    的頭像 發(fā)表于 12-06 13:33 ?1087次閱讀