基於surging的木舟平臺如何上傳模組熱部署

fanly11發表於2024-10-24

一、概述

透過3個月的趕工,基本上快完成1.0版本的研發,將在下個月釋出社群1.0版本。

木舟 (Kayak) 是什麼?

木舟(Kayak)是基於.NET6.0軟體環境下的surging微服務引擎進行開發的, 平臺包含了微服務和物聯網平臺。支援非同步和響應式程式設計開發,功能包含了物模型,裝置,產品,網路元件的統一管理和微服務平臺下的註冊中心,服務路由,模組,中間服務等管理。還有多協議適配(TCP,MQTT,UDP,CoAP,HTTP,Grpc,websocket,rtmp,httpflv,webservice,等),透過靈活多樣的配置適配能夠接入不同廠家不同協議等裝置。並且透過裝置告警,訊息通知,資料視覺化等功能。能夠讓你能快速建立起微服務物聯網平臺系統。

那麼此篇文章的目的是?就是介紹微服務平臺下的模組熱部署功能。

二、如何使用模組熱部署功能

在使用模組熱部署功能,需要開發測試的模組,測試的模組包含了業務領域介面,業務領域服務。

1.建立業務介面,需要身份鑑權驗證可以加[Authorization(AuthType = AuthorizationType.JWT)]

   [ServiceBundle("api/{Service}/{Method}")]
   public interface ITestApiService:IServiceKey
   {
      // [Authorization(AuthType = AuthorizationType.JWT)]
       public Task<string> SayHello(string name);
   }

2. 建立業務領域服務

  public class TestService : ProxyServiceBase, ITestApiService, ISingleInstance
  {
      public Task<string> SayHello(string name)
      {
          return Task.FromResult($"{name} say:hello world");
      }
  }

3. 進行釋出,你可以在業務領域模組根目錄下使用“dotnet publish -c release”進行釋出,如下圖所示

然後透過打包壓縮釋出後的檔案,如果能力允許可以刪除一些dll檔案,比如Microsoft.* 之類的檔案,以減少壓縮包大小。

4. 登入Kayak 平臺,點選跳轉到服務管理-》模組管理,如下圖所示:

5. 十秒鐘後,無需重啟就能在中間服務看到剛剛上傳的模組中間服務資訊。如下圖所示

還可以透過瀏覽器GET訪問介面

三、總結

木舟(kayak)的網路元件可以支援元件化新增,刪除,開啟,關閉,如下圖所示,那麼針對於這些網路元件,怎麼樣接入裝置呢?那麼我們在下篇文章進行介紹。

相關文章