surging 微服務引擎 1.0 正式發佈,DotNet微服務福音

surging 是一個分佈式微服務引擎,提供高性能RPC遠程服務調用,服務引擎支持http、TCP、WS、Mqtt協議,採用Zookeeper、Consul作為surging服務的註冊中心,集成了哈希一致性,隨機,輪詢、壓力最小優先作為負載均衡的算法,底層協議集成採用的組件是dotnetty、websocket-sharp、Kestrel。

支持通過docker hub 部署服務引擎,也可以通過nuget 引用組件的方式自定義服務引擎。


surging 已完成了生成環境的穩定部署,支持超過千臺機器服務的水平擴展,可以支持超過1000個的serviceroutes部署,可以支持單臺30000個物聯網設備,平均單次訪問性能可以達到0.11ms(機器的不同,所驗證的結果不同,升級.netcore 2.2 使用分層編譯性能會更高)。


以上數據是通過本人測試,還有一些是通過別人的提供的數據獲得。

基本上數據都是來自於8核16G的服務器,下面我們來看看如何從各個渠道去構建surging 服務引擎。


構建服務引擎

一、通過開源源碼進行構建

有部分人員通過引用源碼進行開發,可能是這樣更容易調試,或者是實時同步surging, surging 是MIT協議,可以隨便搗鼓,開源地址如下:https://github.com/dotnetcore/surging

二、通過docker hub 進行構建部署

首先如果是自定義服務引擎,可以把鏡像引擎上傳到docker hub 鏡像庫,然後可以根據鏡像庫做服務編排,以下是所有上傳的surging 鏡像


surging 微服務引擎 1.0 正式發佈,DotNet微服務福音


也可以通過以下方式獲取官方的服務引擎


通過以下命令進行構建


docker pull serviceengine/surging:v1.0


通過以下命令進行運行


#docker run --name surgingserver_v1.0 --env Mapping_ip=192.168.249.162 --env Mapping_Port=198 --env RootPath=/home/fanly --envRegister_Conn=192.168.249.162:8500 --env EventBusConnection=172.17.0.4 --env Surging_Server_IP=0.0.0.0 -v /home/fanly:/home/fanly -it -p 198:198 serviceengine/surging:v1.0

如下圖所示


surging 微服務引擎 1.0 正式發佈,DotNet微服務福音


三、通過nuget 進行構建部署

可以通過nuget 包安裝相關組件,如下圖


surging 微服務引擎 1.0 正式發佈,DotNet微服務福音


四、通過rancher 進行管理和服務編排

如下圖所示


surging 微服務引擎 1.0 正式發佈,DotNet微服務福音


surging 微服務引擎 1.0 正式發佈,DotNet微服務福音


未來展望


對於surging迄今為止所取得的進展感到非常興奮,有部分已經使用surging用在了生產環境,並且對於surging的性能非常滿意,對於surging未來的規劃是維護現有的組件,並且擴展其它常用的協議,比如RTP、RTSP、RTMP ,還有就是做管理中心,包括了發佈管理,配置管理,監控中心,異常通知,組件應用中心等功能,這裡也感謝大家對於surging 的貢獻與支持,也期待大家共同一起完善surging ,一起支持.NET Core的生態。

cnblogs.com/fanliang11/p/10204636.html


分享到:


相關文章: