找回密码
 立即注册
首页 业界区 业界 DotNetty 1.0 发布,希望不会太晚。

DotNetty 1.0 发布,希望不会太晚。

济曝喊 昨天 21:10
一、前言

       通过1个月修改,今天dotnetty 发布了1.0 版本,虽然不是官方发布,但是我把最大的问题内存泄漏修复了,运行了7个小时,同时直播推流三个通道内存稳定在55mb左右,cpu 稳定在0.4%, 服务器只有4核16G,看如下图
1.png

 
HttpFlv:http://demo.kayakiot.cn:281/httpflv.html  (黑衣人)
 HttpFlv:http://demo.kayakiot.cn:281/httpflv1.html  (大红包)
HttpFlv:http://demo.kayakiot.cn:281/httpflv2.html  (鹿鼎记)
rtmp:rtmp://demo.kayakiot.cn:76/live1/livestream2   (黑衣人)
rtmp:rtmp://demo.kayakiot.cn:76/live1/livestream3   (大红包)
rtmp:rtmp://demo.kayakiot.cn:76/live1/livestream4(鹿鼎记)
注:测试服务器带宽只有8MB, httpflv  缓冲做的没有rtmp好,然后httpflv卡就多刷新几次
  凯亚 (Kayak) 是什么?
       凯亚(Kayak)是基于.NET8.0软件环境下的surging微服务引擎进行开发的, 平台包含了微服务和物联网平台。支持异步和响应式编程开发,功能包含了物模型,设备,产品,网络组件的统一管理和微服务平台下的注册中心,服务路由,模块,中间服务等管理。还有多协议适配(TCP,MQTT,UDP,CoAP,HTTP,Grpc,websocket,rtmp,httpflv,webservice,等),通过灵活多样的配置适配能够接入不同厂家不同协议等设备。并且通过设备告警,消息通知,数据可视化等功能。能够让你能快速建立起微服务物联网平台系统。
     凯亚物联网平台:http://demo.kayakiot.cn:3100(用户名:fanly  密码:123456)
    链路跟踪Skywalking V8:http://117.72.121.2:8080/
   dotnetty:https://github.com/microsurging/DotNetty
      surging 微服务引擎开源地址:https://github.com/fanliang11/surging(后面surging 会移动到microsurging进行维护)
二、发布nuget

然后大家可以通过nuget 进行下载安装, 源码地址:GitHub - microsurging/DotNetty

三、如何使用

Dotnetty 1.0版本  可以不需要修改,但是耗时的业务调用会占用线程池,会导致线程池线程耗尽,内存溢出。为了解决这个问题,在创建EventLoopGroup时候可以选择TaskSchedulerType.Alone任务调度,代码如下:
 默认任务调度:
  1.               var bossEventExecutor = new MultithreadEventLoopGroup(1);
  2.               var workEventExecutor = new MultithreadEventLoopGroup();
  3.      
  4.              //Libuv
  5.                 var dispatcher = new DispatcherEventLoopGroup();
  6.                  bossEventExecutor = dispatcher;
  7.                  workEventExecutor = new WorkerEventLoopGroup(dispatcher);
复制代码
 TaskSchedulerType.Alone任务调度:
  1.                   var   bossEventExecutor = new MultithreadEventLoopGroup(1,TaskSchedulerType.Alone);
  2.                    var  workEventExecutor = new MultithreadEventLoopGroup(TaskSchedulerType.Alone);
  3. //Libuv
  4.                 var dispatcher = new DispatcherEventLoopGroup(TaskSchedulerType.Alone);
  5.                  bossEventExecutor = dispatcher;
  6.                  workEventExecutor = new WorkerEventLoopGroup(dispatcher,TaskSchedulerType.Alone);
复制代码
四、插件化

你可以开发好的模块插件,通过模块管理上传。
3.png

 
在插件管理界面,就能看到上传的插件,上传的就是第三方应用,你也可以修改ID,对应插件的ModuleType
4.png

 然后你可以查看api ,就能通过swagger 进行查看
5.png

 五、总结
后面会陆续推出视频中心等模块,敬请期待!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册