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