微服務實戰——微服務架構選型SpringCloud / Dubbo / K8S比較(一)

来源:https://www.cnblogs.com/qupengkun/archive/2020/03/31/12607562.html
-Advertisement-
Play Games

說在前面 大概是三年前,因一些原因公司原項目最初為單體結構部署,所有業務模塊都在一個項目裡面,而後隨著業務的不斷膨脹以及模塊之間的耦合,導致後面增加或修改一些簡單業務時的成本都會變的極大。新入職的同事更是苦不堪言,學習代碼的成本極高。基於這些原因,就開始了後面漫長的架構改造旅途。 這麼多微服解決方案 ...


說在前面

大概是三年前,因一些原因公司原項目最初為單體結構部署,所有業務模塊都在一個項目裡面,而後隨著業務的不斷膨脹以及模塊之間的耦合,導致後面增加或修改一些簡單業務時的成本都會變的極大。新入職的同事更是苦不堪言,學習代碼的成本極高。基於這些原因,就開始了後面漫長的架構改造旅途。

這麼多微服解決方案,到底選哪個?

1.介紹

file

  • Motan 微博內部使用的 RPC 框架,於 2016 年對外開源。後來在 Motan Agent 的基礎上演化出了 WeiboMesh,這裡暫時不展開說Motan GitHub

  • Dubbo 阿裡巴巴開源,一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向介面的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。曾經有很長一段時間未維護,現已貢獻至Apache基金會孵化。附上鏈接Dubbo官網

  • SpringCloud 由Pivotal 公司 2014 年開源,利用 Spring Boot 特性整合了開源行業中優秀的組件(如Netflix相關組件),整體對外提供了一套在微服務架構中服務治理的解決方案。與Dubbo都經常被使用且比較,這次主要是基於SpringCloud基礎組件集成

  • Kubernetes 全新的基於容器技術的分散式架構方案。用於管理雲平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單並且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制

2.對比(話不多說,直接上圖)

file

3.選擇

很幸運的是,上圖三種技術棧都有用過。算是各有優劣吧,具體還是要結合實際情況去選擇,不過千萬註意的是儘量別混搭(如SpringCloud+K8S或SpringCloud+Dubbo這樣)

後面具體會先圍繞SpringCloud技術棧展開,而後也會記錄下k8s和Dubbo相關的一些東西。這是第一篇,後面開始實戰,以上!

結束

  • 關於環境
    file)
  • 架構圖
    file

持續學習,記錄點滴。更多文章請訪問 文章首發


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 什麼是 XHTML?XHTML 是以 XML 格式編寫的 HTML。 XHTML 指的是可擴展超文本標記語言 XHTML 與 HTML 4.01 幾乎是相同的 XHTML 是更嚴格更純凈的 HTML 版本 XHTML 是以 XML 應用的方式定義的 HTML XHTML 是 2001 年 1 月發佈 ...
  • 首先保證這些條件滿足: 然後全局安裝vue cnpm install -g vue-cli 安裝完成後可以使用vue -h查看vue的幫助文檔 vue -list 查看vue支持的模板 我們接下來會用到的是webpack vue init webpack mall 項目名輸入必須是英文,我這裡輸入m ...
  • HTML URL代表HTML 統一資源定位器(Uniform Resource Locators),URL是一個網頁地址,URL可以由字母組成,如"W3CSchools.cc",或互聯網協議(IP)地址: 192.68.20.50;大多數人進入網站使用網站功能變數名稱來訪問,因為 名字比數字更容易記住。 U ...
  • 關於object標簽,現在已經很少使用了,但在考慮到相容性的問題上,還是會用到object標簽的。 在對object標簽的使用中,會出現播放視頻的 object 標簽遮蓋住其他 div 標簽,使其不能正常顯示。 1 <div class="btn-group" style="width:100px; ...
  • jquery 動畫 隱藏與顯示 1. hide(ms,callback)——隱藏 2. show()——顯示 3. toggle()——隱藏或者顯示 + 可以帶一個整數參數,表示動畫的時間;callback參數表示回調函數 + 動畫效果是向左上角收縮或打開的。 淡入淡出 1. fadeIn(ms,c ...
  • 官方文檔:React 中一個常見模式是為一個組件返回多個元素。Fragments 可以讓你聚合一個子元素列表,並且不在DOM中增加額外節點。 作用:代替div作為外層的包裹層。 Fragments看起來像是一個空的標簽。 render() { return ( <> <ChildA /> <Chil ...
  • 官網 http://mint-ui.github.io/#!/zh-cn 安裝 cnpm install mint-ui -S 在main.js中引入改插件 Toast效果演示: 查看文檔 在頁面中調用插件 Message box效果演示: 這是移動端插件,所以調整到移動端演示: 底部tabbar演 ...
  • 聊聊服務發現註冊 服務多,迭代快是微服務的明顯特征。那麼在快速小版本迭代業務時,如果按照傳統的方式發佈更新服務,手動的修改一些服務與服務之間的調用關係是非常麻煩且累人的。一個典型的場景可能是,一個微服務升級迭代之後,硬體環境發生改變(IP等的變化)。傳統的做法是修改與其有調用關係的微服務調用地址然後 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...