国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

一張圖聊聊微服務架構路線

開發 架構
在本文中,我試圖展示一個與微服務架構模式相關的路線圖。如果你想從頭開始實現微服務架構或將單體架構遷移到微服務架構,你將需要了解這些概念。

我為什么選擇微服務架構?

圖片

Java技術指南:https://java-family.cn

眾所周知,單體應用程序,由于其種種不足,幾乎不支持敏捷方法。如果你想為一個大型或復雜的業務創建一個軟件項目,最好從微服務架構開始。

微服務架構是一種靈活的架構,可以顯著性地提高應用程序靈活性、可擴展性等。

微服務架構路線

據我了解很多開發者,想知道他們應該如何開始微服務架構旅程,雖然有成千上萬的資源可以使用,但是資源到處分散。我決定通過為微服務架構學習定義路線圖,使這段旅程更加清晰。

基本思路

基于微服務的架構通常有幾個獨立的單元,它們協同工作以接收和處理各種請求。這個復雜的某些部分可以是插件,這意味著在需要的情況下,你可以在不干擾應用程序的整體工作情況下, 新增一個新插件或刪除一個插件。

例如,如果你決定實現一個微服務架構,你應該熟悉應用程序生命周期中的各種關注點,如持久化、日志記錄、監控、負載均衡、緩存等,此外你還應該知道哪些哪些工具比較好或哪些堆棧更適合你的應用程序。

本文,我將從以下幾個方面來介紹各種關注點

  1. 它是什么?
  2. 我為什么要使用它?
  3. 哪些工具比較好?

請注意,我在哪些工具比較好部分提到了兩三個哪些工具比較好,當然,我們還有很多其他哪些工具比較好,選擇這些哪些工具比較好的標準是業務需求,受歡迎程度、性能、開源以及更新頻率。

再次注意,我們還有基于云的服務,這不在本文討論的范圍內。

圖片圖片

本文,我用上圖作為架構圖示例。這個圖涉及到大部分微服務架構組件,雖然不是也很全面,但是微服務架構的標準模型。

本文將會介紹微服務架構的關注點有:

  • Docker
  • 容器編排
  • Docker容器管理
  • API網關
  • 負載均衡
  • 服務發現
  • 事件總線
  • 日志記錄
  • 監控和警報
  • 分布式追蹤
  • 數據持久化
  • 緩存
  • 云供應商

Docker

它是什么:

Docker 是一個開源平臺,用于容器化你的應用程序,其中包含你的應用程序在各種環境中運行所需的類庫和依賴項。在 Docker 的幫助下,開發團隊能夠將應用程序打包到容器中。

我為什么要使用它:

實際上,Docker 是容器化應用程序的哪些工具比較好之一,你也可以在不使用 Docker 的情況下創建容器,Docker 的真正好處是使這個過程更容易、更安全、更簡單。

哪些工具比較好:Docker

容器編排

它是什么:

在容器化應用程序后,你將需要一些哪些工具比較好來管理容器化應用程序,以執行一些手動和自動操作,例如水平擴展。

我為什么要使用它:

這些哪些工具比較好為你的應用程序管理提供一些服務,例如自動負載均衡,保證服務的高可用性。

這種服務是通過定義多個管理器節點來完成的,如果一個節點管理器出現任何故障,其他管理器可以保持應用程序服務可用。

哪些工具比較好:Kubernetes or K8s,Docker Swarm

Docker 容器管理

它是什么:

管理 Docker 環境、配置、安全等。

我為什么要使用它:

為用戶提供了一個基于 GUI 的Docker 容器管理,可以使他們不必處理不舒服的 CLI。這些工具也為開發人員提供了豐富的 UI 來構建和發布他們的鏡像,還可以通過提供簡化的用戶界面來更輕松地執行一些操作任務,例如服務水平擴展。

哪些工具比較好:Portainer , DockStation, Kitematic,Rancher

API網關

它是什么:

API 網關可以被視為一種充當你的應用程序服務和不同客戶端之間的中間件。API 網關可以管理許多事情,例如:

Routing :網關接收所有 API 請求并將它們轉發到目標服務。

Logging :你將能夠在一處記錄所有請求。

Authorization: 檢查你作為用戶是否有資格訪問該服務,如果沒有,可以拒絕該請求

Performance profiling:你可以估計每個請求的執行時間并檢查你的應用程序瓶頸。

Caching:通過在網關級別處理緩存,你將消除服務上的大量流量。

事實上,它是作為一個反向代理工作的,客戶端只需要知道你的網關,應用服務就可以隱藏起來,不直接向其他系統暴露。

我為什么要使用它:

如果沒有 API 網關,你可能需要在每個服務中做一些橫切關注點,例如,如果你想記錄服務的請求和響應。此外,如果你的應用程序由多個服務組成,你的客戶端需要知道每個服務地址,并且在更改服務地址的情況下,應該更新多個地方。

哪些工具比較好:Kong,Ocelot

負載均衡

它是什么:

我們選擇微服務架構最重要的原因是可擴展性,這意味著我們將能夠通過運行更多服務實例來處理更多請求,但問題是,哪個實例應該接收請求,或客戶端如何知道哪個服務實例應該處理請求?

這些問題的答案是負載均衡。負載均衡是高可用網絡基礎架構的關鍵組件,通常用于將工作負載分布到多個服務器來提高網站、應用、數據庫或其他服務的性能和可靠性。

我為什么要使用它:

為了擴展你的獨立服務,你需要運行多個服務實例。使用負載均衡器,客戶端不需要知道服務的正確實例。

哪些工具比較好:Traefik , NGINX,Seesaw

服務發現

它是什么:

隨著你的應用服務的數量越來越多,服務需要知道彼此的服務實例地址,但是在有很多服務的大型應用中,這是無法處理的。因此我們需要服務發現,它負責提供應用程序中所有組件的地址,它們可以輕松地向服務發現系統發送請求并獲取可用的服務實例地址。

我為什么要使用它:

當你的應用程序中可以有多個服務時,服務發現對于你的應用程序來說是必不可少的。你的應用服務不需要知道每個服務實例地址,這意味著服務發現為你鋪平了道路。

哪些工具比較好:Consul,Zookeeper,Eureka,etcd和Keepalived

事件總線

它是什么:

在微服務架構模式中,你將使用兩種不同類型的通信,同步通信以及異步通信。同步通信是指服務之間通過 HTTP 或 GRPC 相互調用。異步通信意味著服務通過消息總線或事件總線相互交互,這意味著服務之間沒有直接連接。

你的架構可以同時使用兩種通信方式,例如在在線商店示例中,你可以在訂單注冊時發送消息,并且訂閱了特定頻道的服務將收到該消息。但有時你可能需要一些實時的查詢,例如,你需要知道一個物品的數量,你可能會在服務之間使用 GRPC 或 HTTP 調用來獲取響應。

我為什么要使用它:

如果你想要一個包含多個服務的可擴展應用程序,你將遵循的原則之一是創建松散耦合的服務,這些服務通過事件總線相互交互。此外,如果你需要創建一個能夠插入新服務以接收一系列特定消息的應用程序,則需要使用事件總線。

哪些工具比較好:RabbitMQ,Kafka

日志記錄

它是什么:

使用微服務架構模式時,最好將服務日志集中起來。這些日志將用于調試問題或根據其類型聚合日志以供分析使用。

我為什么要使用它:

系統調試時,如果沒有提前集中在一個地方收集服務日志,你可能會遇到困難。你還可以將與特定請求相關的日志與唯一的相關 ID 關聯。這意味著與請求相關的不同服務中的所有日志都可以通過此關聯 ID 訪問。

哪些工具比較好:Elastic Logstash

監控和警報

它是什么:

在微服務架構中,如果你想要一個可靠的應用程序或服務,你必須監控應用程序的功能、性能、通信和任何其他方面,以實現一個負責任的應用程序。

我為什么要使用它:

你需要監控整體功能和服務健康狀況,還需要監控性能瓶頸,并準備解決故障的計劃。通過在關鍵點定義服務的早期警報來減少服務的停機時間,從而優化用戶體驗。當負載較重時等,可以監控服務的整體資源消耗。

哪些工具比較好:Prometheus , Kibana,Graphana

分布式追蹤

它是什么:

調試始終是開發人員最關心的問題之一,因為你都有跟蹤或調試單體引用程序的經驗。那是非常直接和容易,但是在微服務架構上,因為一個請求可能會通過不同的服務,這使得調試和跟蹤變得困難,因為服務不在一個地方,所以分布式追蹤工具將會有所幫助。

我為什么要使用它:

如果沒有分布式跟蹤哪些工具比較好,通過不同的服務跟蹤你的請求會令人沮喪或不可能。你可以借助用于演示請求流的豐富 UI 輕松跟蹤請求和事件。

哪些工具比較好:OpenTelemetry , Jeager,Zipkin

數據持久化

它是什么:

在大多數系統中,我們需要持久化數據,將應用程序的數據寫入具有不同結構的物理文件中,以便數據用于進一步的處理或報告。

我為什么要使用它:

在單體應用程序中,我們曾經有一種或兩種不同的持久性類型,大多數單體應用程序使用關系數據庫,如 SQL Server、Oracle、MySQL。但是在微服務架構中,我們應該遵循“DataBase Per Service”模式,這意味著保持每個微服務的持久數據對該服務是私有的,并且只能通過其 API 訪問。

對于不同的用途和場景,你將擁有不同的數據庫。例如,數據展示服務可能會使用像 ElasticSearch 或 MongoDB 這樣的 NoSQL 數據庫,因為它們使用文檔基礎結構,這意味著這些數據庫中持久化數據的結構與關系數據庫不同,更適用于具有讀多寫少的服務。

另一方面,在某些微服務中,你可能需要 Oracle 或 SQL SERVER 等關系數據庫,或者你可能還需要一些支持圖結構或鍵值結構的數據庫。

所以,在微服務架構中,根據服務的使命,你會需要不同類型的數據庫。

哪些工具比較好:關系數據庫或 RDBMS : PostgreSQL, MySQL, SQL SERVRE, Oracle

NoSQL 數據庫 : MongoDB, Cassandra,Elasticsearch

緩存

它是什么:

緩存減少了微服務架構的服務到服務通信的延遲。緩存是高速數據存儲層。當從緩存中請求數據時,它的速度比訪問硬盤中的數據要快。

我為什么要使用它:

在微服務架構中,有許多策略可以通過這些方式實現緩存。考慮以下:

1:嵌入式緩存(分布式和非分布式)

2:客戶端-服務器緩存(分布式)

3:反向代理緩存(Sidecar)

為了減少延遲,可以在不同的層中實現緩存。此外,你還可以實現分布式緩存,它可以被多個微服務訪問。它們還有不同的用途,比如限流,限流的目的是通過對并發訪問/請求進行限速或者一個時間窗口內的的請求進行限速來保護系統,一旦達到限制速率則可以拒絕服務。。

哪些工具比較好:Redis (Remote Dictionary Server), Apache Ignite,Hazelcast IMDG

云供應商

它是什么:

云服務提供商是一個第三方公司,提供基于云的平臺,基礎設施,應用程序或存儲服務。就像房主為電力或天然氣等公用事業付費一樣,公司通常只需根據業務需求為他們使用的云服務數量付費。

云提供商最重要的類別:

  • 軟件即服務 (SaaS)。
  • 平臺即服務 (PaaS)。
  • 基礎設施即服務 (IaaS)。

我為什么要使用它

使用云計算服務的一個好處是,公司可以避免搭建和維護自己的 IT 基礎設施的前期成本和復雜性,而只需在使用時為所用的東西付費。今天,公司可以租用從應用程序到存儲的任何東西,而不是擁有自己的計算基礎設施或數據中心。

哪些工具比較好:Amazon Web Services (AWS), Microsoft Azure, Google Cloud,Alibaba Cloud

結論

在本文中,我試圖展示一個與微服務架構模式相關的路線圖。如果你想從頭開始實現微服務架構或將單體架構遷移到微服務架構,你將需要了解這些概念。

除了這些概念之外,我們還有其他概念,如服務網格、緩存、持久性,它們可能是本路線圖的一部分,但為了簡單起見,我故意沒有提及它們。

責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2023-09-05 08:53:51

2024-05-07 08:49:45

微服務架構模式

2021-02-07 09:01:10

Java并發編程

2021-09-29 11:30:01

大數據技術架構

2019-09-11 10:12:12

華為

2015-03-10 10:15:27

AppleWatch開發Swift

2025-12-08 00:00:55

2022-11-02 08:31:53

BFF架構App

2015-09-14 09:07:15

Java多線程

2018-02-05 14:48:18

華為云

2021-02-07 09:05:56

微服務結構云原生

2025-02-10 02:20:00

微服務SOA架構

2022-11-08 08:35:53

架構微服務移動

2018-02-13 14:56:24

戴爾

2015-06-24 10:51:10

iOS學習流程

2020-09-12 16:45:49

Git

2022-08-19 14:46:16

視覺框架

2015-09-23 10:04:03

開放數據

2015-10-29 15:09:32

信息圖數據
點贊
收藏

51CTO技術棧公眾號

在线观看视频你懂的| 亚洲欧美中日韩| 爽好多水快深点欧美视频| 国产精品美女久久久久久久| 亚洲无限av看| 国产精品日韩久久久| 国产视频一区在线观看一区免费| 国产精品福利影院| 深夜福利91大全| 免费播放av| 免费一级欧美片在线观看| 亚洲第一天堂av| 日本a视频在线观看| 老牛国内精品亚洲成av人片| 少妇高潮喷水久久久久久久久久| 波多野结衣久久| 裸体免费网站| 最近国产精品视频| 亚洲国产中文字幕| 一区二区三区四区视频在线观看 | 亚洲精品无码国产| 成人高潮视频| 亚洲精品福利视频| 成人高清免费在线播放| 国产精品嫩草99a| www黄色av| 久久久久久**毛片大全| 伊人婷婷久久| 国产性色一区二区| 日本韩国一区| 一区二区三区四区五区精品视频| 日韩av免费在线| 爽爽窝窝午夜精品一区二区| 久久久久久久久国产| 一区二区三区亚洲变态调教大结局 | 黄网在线免费| 欧美性一二三区| 最爽无遮挡行房视频在线| 欧美亚洲丝袜传媒另类| 在线播放毛片| 日韩av在线高清| 国产精品诱惑| 欧美制服第一页| 综合一区二区三区| 亚洲精品自在在线观看| 成人午夜av在线| 91av影院| 国产视频精品va久久久久久| 欧美日韩女优| 国色天香2019中文字幕在线观看| 精品久久中文| 日韩久久在线| 国产三级久久久| 91青青在线视频| 久久精品99久久久久久久久| 日韩av专区| 激情图片qvod| 精品久久久久久久久久ntr影视| 久久99国产精品久久99大师| 欧美疯狂性受xxxxx喷水图片| 91极品视觉盛宴| 成人ssswww在线播放| 91av视频在线观看| 日韩一区二区久久| av丝袜天堂网| 欧美mv日韩mv国产网站| 国内露脸中年夫妇交换精品| 国产一区二区高清视频| 91免费版在线| 99久久久久国产精品| 中文字幕九色91在线| 国产亚洲电影| 好吊色视频988gao在线观看| 一区二区三区成人| 成人国产网站| 日本在线成人一区二区| 亚洲一区二区三区四区的| 国产精品久久久一区麻豆最新章节| 亚洲一区在线不卡| 亚洲国产欧美日韩精品| 日日欢夜夜爽一区| 无线免费在线视频| 久久免费精品视频| 国产高清不卡二三区| 污片在线免费观看| 国产精品区二区三区日本| 韩日视频在线观看| 午夜av区久久| 极品美女一区二区三区| 久色视频在线播放| 国产一区二区三区在线| 日本大胆欧美人术艺术动态| 永久av在线| 亚洲aa中文字幕| 精品国产一区二区三区四区 | 久久久久久久久四区三区| 亚洲欧美偷拍卡通变态| 精品中文在线| 国产二区视频在线播放| 亚洲精选在线观看| 美女视频一区二区| 久久99久久99精品免观看软件| 精品电影在线| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 在线观看网站免费入口在线观看国内| 精品伦精品一区二区三区视频 | 国产va亚洲va在线va| 日韩中文字幕av| 国产午夜精品久久久久久免费视 | www.日韩视频| 久久麻豆一区二区| www.欧美| 国产毛片毛片| 日本在线播放一区| 日韩视频免费在线观看| 亚洲免费毛片网站| 国产精品69毛片高清亚洲| 丰满诱人av在线播放| 国产精品99久久久久久大便| 久久最新资源网| 午夜精品一区二区三区免费视频| 亚洲国产1区| 亚洲人体在线| 日本电影全部在线观看网站视频| 国产香蕉一区二区三区| 国产精品电影网站| 亚洲欧美一区二区三区情侣bbw | 亚洲男人电影天堂| 日韩高清中文字幕一区| 一区二区三区视频免费观看| 污污网站在线观看| 国内精品卡一卡二卡三新区| 第九区2中文字幕| 91精品国产91久久久久青草| 日韩视频亚洲视频| 日韩午夜在线观看| 亚洲丰满少妇videoshd| 极品尤物av久久免费看| 国语自产精品视频在线看8查询8| 成人在线精品| 你懂得影院夜精品a| 理论片午午伦夜理片在线播放| 激情六月婷婷| 国产免费又粗又猛又爽| 伊人婷婷久久| 青娱乐一区二区| www.久久爱.cn| 国产精品污www一区二区三区| 久久久久一本一区二区青青蜜月| 亚洲美女黄色片| 在线日韩欧美视频| 中文字幕九色91在线| 亚洲视频axxx| 欧美另类极品videosbest最新版本| 精品国产99国产精品| 日韩一区二区三区免费观看| 日韩欧美123| 日韩久久免费视频| 中文字幕综合在线| 欧美xxxx综合视频| 国产精品狼人色视频一区| 国产精品欧美久久久| 成人免费视频视频在| 欧美日韩综合精品| av不卡在线免费观看| 久久久久免费看黄a片app| 日韩一级片播放| 最近最新mv在线观看免费高清| 亚洲kkk444kkk在线观看| 黄网站视频在线观看| 麻豆mv在线看| 五月国产精品| 青青青伊人色综合久久| 99久久久久免费精品国产 | 国产精品无遮挡| 亚洲美女在线国产| 欧美日韩国产电影| 亚洲欧洲视频在线| 茄子视频成人在线| 精品亚洲欧美日韩| 大伊香蕉精品视频在线| 成人免费高清在线| а√天堂中文资源在线bt| 精品久久免费| 欧美网站在线| 国产主播一区二区| 亚洲国产成人91porn| 亚洲欧洲日本专区| 日韩免费精品视频| 一本二本三本亚洲码| 麻豆精品网站| 欧美黑人性视频| 综合在线观看色| 亚洲电影免费观看高清完整版在线观看 | 欧美一区二区三区在线| 欧美大码xxxx| 狠狠色综合网站久久久久久久| 日本福利视频一区| 成人直播在线| 九九精品久久|