基于surging的木舟平台如何上传模块热部署

一、概述

       通过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)的网络组件可以支持组件化添加,删除,开启,关闭,如下图所示,那么针对于这些网络组件,怎么样接入设备呢?那么我们在下篇文章进行介绍。

 

 

posted @ 2024-10-24 21:08  fanly11  阅读(379)  评论(1编辑  收藏  举报