使用Bumblebee搭建微服務閘道器
主要功能
- 服務管理,可以針對業務需要可以新增管理相應的服務應用
- 動態路由管理,可以針對不同請求路徑制定不同的負載方案;負載的方案調整都具備熱更能力,並不需要重啟即可完成相關調整。
- 負載策略多樣性,可以針對不同的路徑和服務制定不同的負載方式,包括有:動太一致性,權重負載和請求限制等.
- 自動的負載故障和恢復遷移,元件對服務的可用性會進行一個可靠的管理,根據服務的可用性進行動態負載策略調整.
- 完善的外掛擴充套件機制,可以制定如管理,監控,日誌和安全訪問等等功能。
- 支援
https
可以制定更安全的通訊服務應用 - 支援
windows
,linux
等多平臺
部署使用
新建一個控制檯程式後引用元件
BeetleX.Bumblebee
然後編寫以下程式碼
private static Gateway g; static void Main(string[] args) { g = new Gateway(); g.HttpOptions(h => { h.Port = 80; }); g.SetServer("http://192.168.2.25:9090").AddUrl("*", 0, 0); g.SetServer("http://192.168.2.26:9090").AddUrl("*", 0, 0); g.Open(); Console.Read(); }
以上程式碼是在本機80
埠部署一個閘道器服務,並把請求負載到http://192.168.2.25:9090
和http://192.168.2.26:9090
這樣使用比較麻煩,如果你想自己制定一些特別的需求才需要這樣做。
引用管理外掛
元件很多功能可以通過外掛擴充套件的方式引入,以下是引入一個管理外掛,通過這個外掛對閘道器進行一個視覺化操作。
BeetleX.Bumblebee.Configuration
這是一個視覺化閘道器管理的外掛,只要引用上即可通過外掛提供的管理介面來進行閘道器配置
class Program { static Gateway gateway; static void Main(string[] args) { gateway = new Gateway(); gateway.HttpOptions(o => { o.Port = 80; o.LogToConsole = true; o.LogLevel = BeetleX.EventArgs.LogType.Error; }); gateway.Open(); gateway.LoadPlugin(typeof(Bumblebee.Configuration.Management).Assembly); Console.Read(); } }
或直接下載編譯好的版本執行dotnet GatewayServer.dll
https://github.com/IKende/Bumblebee/blob/master/bin/Bumblebee1.0.2.zip
執行後即可通過以下地址訪問管理介面http://localhost/__system/bumblebee/
預設登陸使用者名稱和密碼是admin
和123456
,建議登陸後在配置頁面上修改登陸密碼。登陸後就進入閘道器的基礎監控頁面
當服務和路由配置好後,就可能通過這個頁面檢視閘道器的執行情況;主要包括閘道器的基礎資源資訊,服務應用狀況和不同Url
的請求情況。由於這個外掛還在完善中所以提供的功能並不夠,只是一般的配置和監控。
服務配置簡介
服務配置比較簡單,只需要把服務地址新增進來即可;Max
是指閘道器連線到服務的最大連線數,可以根據應用的併發情況進行配置最大連線數;在併發中即使最大連線數被佔用完也不會引起服務異常,元件還針對每個服務分配一個佇列,只有當連線數被分配完後並且佇列也滿的情況才會拒絕請求。
路由配置簡介
可以根據不同的Url
制定不同的負載策略,策略調整儲存後會馬上生效並不需要重啟服務程式。
外掛管理
主要用於管理閘道器的外掛,用於啟用,停用或配置外掛相關資訊
日誌檢視
這個主要是檢視閘道器處理的日誌,請求轉發日誌由於量比較大這個管理外掛暫沒有實現接管,使用者可以寫外掛來記錄相關API轉發的詳細日誌。
效能測試對比(Bumblebee vs Ocelot)
測試服務配置 E3 1230v2 16G windows 2008 Network:10Gb
測試工具 ab和bombardier
測試程式碼 https://github.com/IKende/Bumblebee/tree/master/BumblebeeVSOcelot
測試內容 分別啟用500,1000和2000個連線進行請求併發測試
ab測試結果
bombardier測試結果
相關推薦
使用Bumblebee搭建微服務閘道器
主要功能 服務管理,可以針對業務需要可以新增管理相應的服務應用 動態路由管理,可以針對不同請求路徑制定不同的負載方案;負載的方案調整都具備熱更能力,並不需要重啟即可完成相關調整。 負載策略多樣性,可以針對不同的路徑和服務制定不同的負載方式,包括有:動太一致性,權重負載和請求限制等.
使用 Node.js 搭建微服務閘道器
目錄 Node.js 是什麼 安裝 node.js Node.js 入門 Node.js 應用場景 npm 映象 使用 Node.js 搭建微服務閘道器 什麼是微服務架構 使用 Node.js 實現反向代理 參考
.net core中使用Bumblebee架設微服務閘道器
Bumblebee是款基於.net core開發開源的http服務閘道器,經過最近版本的完善在功能足以滿足作為微服務閘道器的需要。在微服務閘道器功能中它提供了應用服務負載,故障遷移,安全控制,監控跟蹤和日誌處理等;不僅如此它強大的外掛擴充套件功能,可以針對實業務情況進行不同的相關外掛應用開發滿足實際情況的需要
微服務閘道器從零搭建——(二)搭建api閘道器(不帶驗證)
環境準備 建立空的core2.1 api專案 演示使用名稱APIGateWay 過程參考上一篇 完成後在appsettings.json 新增節點 "Setting": { "Port": "5000" } 搭建過程 新增檔案configuration.json
微服務閘道器從零搭建——(六)ocelot配置追蹤功能
butterfly 準備工作 首先下載buterfly release版本 解壓並通過命令啟動:dotnet Butterfly.Web.dll --EnableHttpCollector=true 可以採用bat檔案的方式 cd C:\Users\Lenovo\Desk
Spring Cloud【Finchley】-14 微服務閘道器Zuul的搭建與使用
文章目錄 官方文件 Zuul概述 引入閘道器前後呼叫流程的變化 搭建單節點的Zuul Step1. 建立子Module microservice-gateway-zuul Step2. 新增maven依賴 Step3
Bumblebee微服務閘道器之請求統一驗證
對於微服務閘道器來說,統一請求驗證是一個比較重要和常用的功能,通過閘道器驗證後臺服務就無須關注請求驗證;對於多語言平臺的服務而言制
微服務springcloud—微服務閘道器、Zuul簡介和Zuul微服務
使用zuul構建微服務閘道器 為什麼要使用微服務閘道器 雖然微服務架構已經初具雛形,但還有一些問題————不同的微服務 一般會有不同的網路地址,而外部客戶端(例如手機APP)可能還需 呼叫多個微服務接口才能完成一個業務需求。例如一個電影購票的 手機APP,可能會呼叫多個微服務介面,才
微服務閘道器
微服務閘道器作用: API閘道器:跨一個或多個內部API提供單個統一的API入口點。通常還包括限制訪問速率和有關安全性等特點。API閘道器可以為外部消費者提供統一的入口點,而與內部微服務的數量和組成無關。 API閘道器的作用: &
Choerodon 的微服務之路(二):微服務閘道器
本文是 Choerodon 豬齒魚微服務系列文章的第二篇。在《Choerodon的微服務之路(一):如何邁出關鍵的第一步》中,我們瞭解到在微服務架構中,一個完整的單體應用被拆分成多個有著獨立部署能力的業務服務,每個服務可以使用不同的程式語言,不同的儲存介質,來保持最低限度的集中式管理。本篇將
SpringCloud Zuul配置 微服務閘道器 詳解
目錄 筆者在,已經介紹瞭如何配置獨立的認證中心和SSO客戶端,以及完成配套的資源伺服器配置。但是,在實際生產環境中使用會存在一些安全問題。例如所有微服務的真實地址和使用的真實埠都被暴露給了使用者,容易被不法之徒進行非法攻擊,再對外服務時如果做隔離,對
用 http-proxy架設 Cmpage 的微服務閘道器
Cmpage的微服務化 Cmpage前端是個典型的單頁結構,每個業務模組從後端返回的是HTML片段,然後進行組裝渲染。假設現在有3個團隊分別開發了使用者中心(UC),客戶管理系統(CRM),人事考勤系統(HR),每個系統會有若干業務模組,系統內外的資料有關
Hystrix斷路器在微服務閘道器中的應用
前文回顧 在之前的一篇文章:微服務閘道器Zuul遷移到Spring Cloud Gateway,我們講解了如何從Zuul遷移到新的元件:Spring Cloud Gateway,以及擴充套件了微服務閘道器的功能,包括限流過濾器、斷路器過濾器等。然而很多讀者在使用的時候反饋,使用POSTMAN傳送GET請求測
Spring Cloud之Zuul(一):編寫Zuul微服務閘道器
主題 編寫Zuul微服務閘道器 前言 閘道器的概念大家可以點選這裡瞭解,或者等待米兜好文章更新。本例項主要是將Zuul註冊到Eureka Server上,並做一些案例測試。 內容 1.新建專案 cloud-register-gateway-zuul微服務 2.引入依賴
SpringCloud(3) :微服務閘道器(Zuul)
在一個實際業務當中通常都會呼叫多個服務介面,而每個服務介面的ip/埠or域名都不一樣,這樣在實際呼叫中會變得十分繁瑣,而且當服務介面ip/埠or域名修改後,業務系統也需要進行相應的修改,大大增加了開發維護成本,所以一般的做法都是在多個服務介面上游再新增一層,我們
LindDotNetCore~Ocelot實現微服務閘道器
回到目錄 閘道器在硬體裡有自己的定義,而在軟體架構裡也有自己的解釋,它就是所有請求的入口,請求打到閘道器上,經過處理和加工,再返回給客戶端,這個處理過程中當然就是閘道器的核心,也是Ocelot的核心,我們可以把使用者授權,校驗,快取,認證等很多關注點在閘道器中實現! 定義 API閘道器是一個
微服務閘道器解決方案和使用總結
一.什麼是閘道器 1.1 什麼是閘道器 API Gateway(APIGW / API 閘道器),顧名思義,是出現在系統邊界上的一個面向API的、序列集中式的強管控服務,這裡的邊界是企業IT系統的邊界,可以理解為企業級應用防火牆,主要起到隔離外部訪問與內部系統的作用。在微服務概念的流行之前,API閘道
八、Zuul構建微服務閘道器
1、為什麼要使用微服務閘道器 1.1、沒有閘道器的話,存在的問題 客戶端要多次請求不同微服務,增加客戶端複雜性 存在跨域請求問題 &n
Hystrix斷路器在微服務閘道器中的應用(Spring Cloud Gateway)
前文回顧 在之前的一篇文章:微服務閘道器Zuul遷移到Spring Cloud Gateway,我們講解了如何從Zuul遷移到新的元件:Spring Cloud Gateway,以及擴充套件了微服務閘道器的功能,包括限流過濾器、斷路器過濾器等。然而很多讀者在使用的時候反饋,使用POS
微服務閘道器Zuul遷移到Spring Cloud Gateway
Spring Cloud Netflix Zuul是由Netflix開源的API閘道器,在微服務架構下,閘道器作為對外的門戶,實現動態路由、監控、授權、安全、排程等功能。 Zuul基於servlet 2.5(使用3.x),使用阻塞API。 它不支援任何長連線,如