国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

微服務架構多微才合適

lhl545545 ? 來源:電子發燒友網 ? 2018-02-07 17:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、互聯網架構為什么要進行服務化-總結

上一篇和大伙交流了一下,隨著數據量、并發量、業務復雜度的增長,互聯網架構會出現以下問題:

(1)代碼到處拷貝

(2)底層復雜性擴散

(3)基礎庫(so/jar/dll)耦合

(4)SQL質量得不到保障,業務相互影響

(5)數據庫耦合

“服務化”是一個很好的解決上述痛點的方案。

服務化之后,可能會引發分布式事務的問題,“沒人愿意引入分布式事務,當基于業務水平拆分的時候,要業務專家介入,合理拆分服務化,以后就服務內高內聚,事務可以保證,對于夸服務調用,通過補償等手段,只要最終一致性就行,畢竟連現在的銀行轉賬都不是強一致性。”

分布式事務是業界沒有徹底解決的難題,任何架構設計都是一個折衷,吞吐量?時延?一致性?哪個是主要矛盾,優先解決哪個問題。大數據、高并發、業務復雜性是主要矛盾的時候,或許“最終一致性”是一個替代“事務”更好的,或者說業務能夠接受的方案。

多了一層服務層,架構實際上是更復雜了,需要引入一系列機制對服務進行管理,RPC服務化中需要注意:

(1)RPC服務超時,服務調用者應有一些應對策略,比如重發

(2)關鍵服務例如支付,要注意冪等性,因為重發會導致重復操作

(3)多服務要考慮并發操作,相當單服務的鎖機制比如JAVA中的synchronized

二、互聯網微服務架構多“微”才適合

大家也都認可,隨著數據量、流量、業務復雜度的提升,服務化架構是架構演進中的必由之路,今天要討論的話題是:微服務架構多“微”才合適?

【粗粒度:一個服務層】

微服務架構多微才合適

最粗獷的玩法,所有基礎數據的訪問,都通過一個service訪問,在業務不是特別復雜的時候還好,一旦業務變復雜了,這個service層會變得非常重,成為耦合點之一,以微信場景為例,假設有一個通用的服務層來訪問基礎數據,這個服務層可能是這樣的:

微服務架構多微才合適

有一個統一的service層,用戶信息,好友信息,群組信息,消息信息都通過這個service層來走。

細節:微信單對單消息是一個寫多讀少的業務,故沒有緩存。

【一個子業務一個service】

如果所有的信息存儲都在一個service里,那么一個地方出bug,就將影響整個業務,所以更合理的做法是在服務層進行細分,架構如何細分?垂直拆分是個好的方案,將子業務一個個拆出來,那么微信的服務化架構或許會變成這個樣子:

微服務架構多微才合適

(1)用戶相關的子業務有user-service

(2)好友相關的子業務有friend-service

(3)群組相關的子業務有group-service

(4)消息相關的子業務有msg-service

這樣的話,一個service出問題也不會影響其他service,同時數據層也按照業務垂直拆分開了。

服務粒度變細之后,出現一個新的問題,業務與服務的連接關系變復雜了,有什么好的優化方案么?

微服務架構多微才合適

常見的,加入一個高可用服務分發層集群,并在協議設計時加入服務號,可以減少蜘蛛網狀的依賴關系:

(1)調用方依賴分發層,傳入服務號

(2)分發層依賴服務層,通過服務號參數分發

【一個數據庫對應一個service】

數據訪問service最初是從DAO/ORM的數據訪問需求過來的,所以有些公司也有一個數據表一個service的玩法。

一個子業務對應一個service的玩法是:

微服務架構多微才合適

(1)服務層,整個群業務是一個service

(2)存儲層,實際可能對應了群信息、群成員、群消息等多個數據表

拆分成一個數據表一個service,則架構會變成這樣:

微服務架構多微才合適

群信息表,群成員表,群消息表等各個數據表之間也解耦開了,不會相互影響了。

【一個接口對應一個service】

微服務架構中更極端的,甚至一個接口對應一個微服務,這樣的話,架構就從:

微服務架構多微才合適

(1)修改群信息服務

(2)增加群信息服務

(3)獲取群信息服務

多個服務操縱同一個數據表,使用同一片緩存,每個接口出問題,都不會影響其他接口。

三、粒度粗細的優劣

上文中談到的服務化與微服務,不同粒度的服務化各有什么優劣呢?

總的來說,細粒度拆分的優點有:

(1)服務都能夠獨立部署

(2)擴容和縮容方便,有利于提高資源利用率

(3)拆得越細,耦合相對會減小

(4)拆得越細,容錯相對會更好,一個服務出問題不影響其他服務

(5)擴展性更好

(6)…

細粒度拆分的不足也很明顯:

(1)拆得越細,系統越復雜

(2)系統之間的依賴關系也更復雜

(3)運維復雜度提升

(4)監控更加復雜

(5)出問題時定位問題更難

(6)…

關于微服務架構的“粒度”問題,以及各粒度的優劣,大伙有什么好的看法,歡迎補充,建設性的意見將在后續文中和大伙share。

四、結束的話

聊了許多,有網友問,筆者對待服務化以及微服務粒度的看法,個人覺得,以“子業務系統”粒度作為微服務的單位是比較合適的:

微服務架構多微才合適

末了,討論完微服務架構的粒度,后續文章和大家聊一聊微服務的最佳實踐,需要什么樣的框架、組件、技術能夠將服務化在較短的時間內開展起來,下周和大伙再聊。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微服務
    +關注

    關注

    0

    文章

    150

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    光伏四可裝置軟件系統架構微服務化設計與容器化部署方案

    ,某一模塊升級需整體停機,無法適配光伏場景對實時性與連續性的要求;物理機部署模式則導致環境一致性差,跨場景遷移成本高。為此,基于微服務化設計與容器化部署的軟件架構應運而生,通過“功能解耦、彈性部署、高效
    的頭像 發表于 03-03 15:47 ?168次閱讀

    基于OpenTelemetry的全鏈路追蹤微服務可觀測性實踐

    微服務拆分到第三年,我們的服務數量從最初的5個膨脹到了47個。一個用戶下單請求要經過API Gateway -> 用戶服務 -> 商品服務 -> 庫存
    的頭像 發表于 02-26 15:43 ?141次閱讀

    Istio服務網格生產環境性能調優的最佳實踐

    隨著微服務架構的普及,服務間通信的復雜度呈指數級增長。傳統的應用層負載均衡和服務發現方案已經無法滿足現代云原生應用的需求。Istio作為目前最成熟的
    的頭像 發表于 01-20 15:40 ?206次閱讀

    華潤車載功放雙芯:CD7377CZ 與 CD7388 的技術實力,深智微服務護航

    需求;而深智科技作為華潤授權代理商,不僅提供穩定的芯片供應,更以全流程技術服務,為工程師、開發者及汽車音響愛好者打通從產品選型到方案落地的全鏈路。 一、雙芯解析:適配不同需求的車載音頻解決方案 (一)CD7377CZ:
    的頭像 發表于 12-04 10:27 ?683次閱讀

    華納云VPS容器服務網格流量管理:實現微服務高效路由

    在云計算和微服務架構日益普及的今天,華納云香港VPS憑借其優越的地緣優勢和網絡自由,成為眾多企業部署容器化應用的熱門選擇。復雜的微服務架構帶來了流量管理的巨大挑戰。本文將深入探討如何利
    的頭像 發表于 10-16 17:09 ?528次閱讀

    基于RFID與微服務架構的智能倉庫管理系統:實現倉儲數據的全鏈路精準采集與管控

    針對傳統倉儲管理中普遍存在的賬實不符、流程效率低下及信息孤島等問題,本文介紹一套基于RFID射頻識別技術與微服務軟件架構的智能倉庫管理系統。系統通過“一物一碼”的電子身份標識,實現了對物資從入庫
    的頭像 發表于 10-13 11:18 ?764次閱讀
    基于RFID與<b class='flag-5'>微服務</b><b class='flag-5'>架構</b>的智能倉庫管理系統:實現倉儲數據的全鏈路精準采集與管控

    如何基于Nginx構建微服務網關

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

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

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

    深入剖析RabbitMQ高可用架構設計

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

    電商API的微服務架構優化策略

    ? 隨著電子商務的快速發展,API(應用程序編程接口)已成為電商平臺的核心組件,負責連接用戶、商家和后臺系統。微服務架構通過將應用拆分為獨立、可擴展的服務單元,顯著提升了系統的靈活性和可維護性。然而
    的頭像 發表于 07-23 14:30 ?621次閱讀
    電商API的<b class='flag-5'>微服務</b><b class='flag-5'>架構</b>優化策略

    蔡司“微服務”——全能在線售后管家,24小時守護您的設備!

    還在為設備故障煩惱? 急需技術支援卻找不到人? 想快速獲取用戶手冊或軟件升級? 現在 只需信掃一掃設備上的藍色標簽二維碼 蔡司“微服務”一鍵觸達! 9大功能板塊 全方位解決您的售后需求 服務更高
    發表于 07-10 16:44 ?1566次閱讀
    蔡司“<b class='flag-5'>微服務</b>”——全能在線售后管家,24小時守護您的設備!

    超級電容阻值多少合適

    本文主要介紹了超級電容的核心參數——等效串聯電阻(ESR),并討論了如何在高功率脈沖設備和儲能系統中找到合適的ESR值。此外,還提到了溫度、電壓和材料工藝對ESR的影響,并探討了如何優化阻值的工程路徑。
    的頭像 發表于 07-03 09:36 ?1159次閱讀
    超級電容阻值多少<b class='flag-5'>才</b><b class='flag-5'>合適</b>?

    【「算力芯片 | 高性能 CPU/GPU/NPU 架構分析」閱讀體驗】+NVlink技術從應用到原理

    前言 【「算力芯片 | 高性能 CPU/GPU/NPU 架構分析」書中的芯片知識是比較接近當前的頂尖芯片水平的,同時包含了芯片架構的基礎知識,但該部分知識比較晦澀難懂,或許是由于我一直從事的事芯片
    發表于 06-18 19:31

    如何利用RAKsmart服務器實現高效站點部署方案

    利用RAKsmart服務器實現高效站點部署方案,需結合其網絡優勢、彈性資源管理和合理的架構設計。以下是分步實施方案,涵蓋網絡優化、資源分配、數據管理及監控等核心環節,主機推薦小編為您整理發布如何利用RAKsmart
    的頭像 發表于 05-19 10:38 ?530次閱讀

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

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