聊聊經常用的微服務

聊聊微服務

架構演變

單體架構: All in One,所有的功能模塊都在一個工程里。
image.png

SOA架構: 這個架構當不當正不正,對于現在來說,有點老,甚至需要ESB,WebService之類的,基本不會使用了。

微服務架構: 微服務架構思想是馬丁福勒提出的

https://martinfowler.com/articles/microservices.html

他的核心思想是這一段話:

In short, the microservice architectural style 1 is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

簡而言之,微服務架構風格1是一種將單個應用程序開發為一套小型服務的方法,每個服務都在自己的進程中運行,并與輕量級機制(通常是HTTP資源API)通信。這些服務圍繞業務能力構建,并可通過全自動部署機制獨立部署。這些服務的集中管理最低限度,這些服務可能用不同的編程語言編寫,并使用不同的數據存儲技術。

  • 微服務架構是一個軟件架構風格,他不是標準。
  • 將一個單體架構的產品拆分成多個服務,多個服務組成了完成的產品功能。
  • 每個服務是可以完全獨立部署的,互不影響。
  • 可以采用HTTP這種輕量級的方式實現服務之間的交互。
  • 在拆分服務時,一般是按照產品的業務領域去劃分不同的服務,也可以針對單個功能做成一個服務。
  • 采用DevOps的方式去做自動化部署。 (后面會學)
  • 支持采用不用的語言去構建一個完整的產品。

image.png
image.png

微服務架構:是架構思想。

微服務:拆分出來的微小的服務,比如上圖中的商品服務就是一個微服務。

微服務框架:對微服務的架構思想落地的一些技術。

SpringCloud生態

官方地址: https://spring.io/projects/spring-cloud

咱們要學習SpringCloud生態里的幾個技術:

  • SpringCloud Alibaba: Nacos
  • SpringCloud:OpenFeign
  • SpringCloud Alibaba:Sentinel
  • SpringCloud:Gateway
  • 鏈路追蹤:Sleuth + Zipkin - SkyWalking(不玩)

image.png

Ps:這里只關注應用,底層源碼之類的內容,這里不涉及。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/92405.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/92405.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/92405.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第十四屆藍橋杯青少年組省賽 編程題真題題解

明天我就要考藍橋杯省賽了,本蒟蒻已瑟瑟發抖,所以現在寫一篇文章。 題目分別為: 1.??????B4270 [藍橋杯青少年組省賽 2023] 特殊運算符 2.B4271 [藍橋杯青少年組省賽 2023] 四葉玫瑰數 3.B4272 [藍橋杯青少年組省賽 2023] 質因數的…

HTML全景效果實現

我將為您創建一個精美的360度全景效果頁面,使用Three.js庫實現沉浸式全景體驗,并提供用戶友好的控制界面,完整代碼看文章末尾。 設計思路 使用Three.js創建全景球體 添加控制面板用于切換不同場景 實現自動旋轉和手動控制選項 添加加載狀…

Python 屬性描述符(描述符用法建議)

描述符用法建議 下面根據剛剛論述的描述符特征給出一些實用的結論。 使用特性以保持簡單 內置的 property 類創建的其實是覆蓋型描述符,__set__ 方法和 __get__ 方法都實現了,即便不定義設值方法也是如此。特性的 __set__ 方法默認拋出 AttributeError: …

Milvus 向量數據庫內存使用相關了解

1、支持 MMap 的數據存儲在 Milvus 中,內存映射文件允許將文件內容直接映射到內存中。這一功能提高了內存效率,尤其是在可用內存稀缺但完全加載數據不可行的情況下。這種優化機制可以增加數據容量,同時在一定限度內確保性能;但當數…

C++編程之旅-- -- --默認成員函數(全詳解)

目錄前言構造函數構造函數形式:構造函數的特性:explicit關鍵字析構函數析構函數的概念析構函數的特性含有類類型的成員變量的類析構函數的調用拷貝構造函數拷貝構造函數的概念拷貝構造函數的特性淺拷貝和深拷貝:拷貝構造函數典型調用場景&…

Linux網絡編程:TCP的遠程多線程命令執行

目錄 前言: 一、前文補充 二、服務端的修改 三、Command類的新增 前言: 好久不見,最近忙于其他事情,就耽誤了咱們的Linux的網絡部分的學習。 今天咱們先來給之前所學的TCP的部分進行一個首尾工作,主要是給大家介紹…

重學React(三):狀態管理

背景: 繼續跟著官網的流程往后學,之前已經整理了描述UI以及添加交互兩個模塊,總體來說還是收獲不小的,至少我一個表面上用了四五年React的前端小卡拉米對React的使用都有了新的認知。接下來就到了狀態管理(React特地加…

java web項目入門了解

目錄一、項目流程1. 使用servle2. 使用框架二、了解java web項目構造1. 項目目錄結構2. 查看頁面訪問順序3. 發起請求:jqueryajax4. 接受參數5. JSONJSON 數組三、get和post請求區別一、項目流程 1. 使用servle 有客戶端和服務端,客戶端和服務端進行交…

網絡資源模板--基于Android Studio 實現的日記本App

目錄 一、測試環境說明 二、項目簡介 三、項目演示 四、部設計詳情(部分) 創建修改頁面 五、項目源碼 一、測試環境說明 電腦環境 Windows 11 編寫語言 JAVA 開發軟件 Android Studio (2020) 開發軟件只要大于等于測試版本即可(近幾年官網直接下載也可…

GO的啟動流程(GMP模型/內存)

目錄第一部分:程序編譯第二部分:函數解讀1)Golang 核心初始化過程2)創建第一個協程3)啟動系統調度4)跳轉main函數5)總結第三部分:GMP模型Goroutine流程解讀第四部分:內存…

OLTP與OLAP:實時處理與深度分析的較量

OLTP(Online Transaction Processing)定義:OLTP 系統主要用于管理事務性應用程序的數據。這類系統需要支持大量的短時、快速的交互式事務,比如銀行交易、在線購物訂單等。特點:實時處理:OLTP 系統要求對數據…

數據安全與隱私保護:企業級防護策略與技術實現

引言:數據安全的新時代挑戰在數字化轉型加速的今天,數據已成為企業最核心的資產。然而,數據泄露事件頻發,據 IBM《2024 年數據泄露成本報告》顯示,全球數據泄露平均成本已達445 萬美元,較 2020 年增長了 15…

AI_RAG

一.為什么需要RAG(AI幻覺)大模型LLM在某些情況下給出的回答很可能錯誤的,涉及虛構甚至是故意欺騙的信息。二.什么是RAGRAG是一種結合“信息檢索”和“文本生成”的技術,旨在提升生成式AI模型的準確性和可靠性。它通過以下兩個核心…

LeetCode111~130題解

LeetCode111.二叉樹的最小深度: 題目描述: 給定一個二叉樹,找出其最小深度。 最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。 說明:葉子節點是指沒有子節點的節點。 示例 1: 輸入:root …

n8n飛書webhook配置(飛書機器人、飛書bot、feishu bot)Crypto節點、js timestamp代碼、Crypto node

自定義機器人使用指南 利用 n8n 打造飛書 RSS 推送機器人 文章目錄自定義機器人使用指南注意事項功能介紹在群組中添加自定義機器人操作步驟邀請自定義機器人進群。- 進入目標群組,在群組右上角點擊更多按鈕,并點擊 設置。- 在右側 設置 界面&#xff0…

nhdeep檔案管理工具軟件官網

歡迎訪問nhdeep官網: www.nhdeep.com NHDEEP提供一系列專業的單機版檔案管理工具,滿足不同場景下的檔案管理需求,無需網絡連接,數據安全可靠。所有工具均提供免費試用版下載。 檔案綜合管理系統單機版:全面的檔案管理解決方案&a…

RocketMQ節點部署計算方案

節點計算公式 業務場景 預期峰值TPS:200,000 單組容量:40K TPS 容災要求:同城雙機房 nameServer節點數max(3, (15/50) 1) max(3, 0.3 1) max(3, 1.3) 3 Broker節點數ceil(200,000 / 40,000) 5組 總節點數 NameServer節點Broker組數(Mas…

MyBatis聯合查詢 - XML篇

文章目錄數據庫設計MyBatis 配置MyBatis 映射文件Mapper 接口總結數據庫設計 建表 SQL CREATE TABLE user (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL );CREATE TABLE order (id INT PRIMARY KEY AUTO_INCREMENT,user_id INT NOT NULL,order_no VARCHAR(…

Kubelet 探針如何選擇 IP:status.PodIP 溯源與“同 Pod 兩個 IP“現象解析

背景與現象同一個 Pod 的 readiness 和 liveness 探針日志顯示連接的 IP 不一致(例如 10.10.6.10:9999 與 10.10.6.32:9999)。本文從 kubelet 源碼入手,解釋探針目標 IP 的來源、為何會出現兩個不同 IP,并給出建議與驗證方法。在如…

Arm Development Studio 安全通告:CVE-2025-7427

安全之安全(security)博客目錄導讀 目錄 一、概述 二、CVE 詳情 三、受影響產品 四、建議 五、致謝 六、版本歷史 一、概述 ARM已知悉一個影響 Arm Development Studio 的安全漏洞,該漏洞可能允許攻擊者執行 DLL 劫持攻擊(DLL hijacking attack&…