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

一、前言

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

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任务调度,代码如下:

默认任务调度:

复制代码
              var bossEventExecutor = new MultithreadEventLoopGroup(1);
              var workEventExecutor = new MultithreadEventLoopGroup();

     
             //Libuv
                var dispatcher = new DispatcherEventLoopGroup();
                 bossEventExecutor = dispatcher;
                 workEventExecutor = new WorkerEventLoopGroup(dispatcher);

TaskSchedulerType.Alone任务调度:

复制代码
                  var   bossEventExecutor = new MultithreadEventLoopGroup(1,TaskSchedulerType.Alone);
                   var  workEventExecutor = new MultithreadEventLoopGroup(TaskSchedulerType.Alone);

//Libuv
                var dispatcher = new DispatcherEventLoopGroup(TaskSchedulerType.Alone);
                 bossEventExecutor = dispatcher;
                 workEventExecutor = new WorkerEventLoopGroup(dispatcher,TaskSchedulerType.Alone);

四、插件化

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

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

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

五、总结

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

相关推荐
乐启国际旅行社有限公司6 小时前
微服务高可用实战:Resilience4j熔断降级解决文旅节假日流量雪崩问题
微服务·云原生·架构
VortMall7 小时前
出海引流运维双升级|VortMall微服务商城系统v1.3.12 升级更新
运维·微服务·facebook
zzzll11118 小时前
Spring Cloud 微服务:从入门到实践
spring·spring cloud·微服务
summer_west_fish1 天前
企业架构的概念方法与实践
微服务·云原生·架构
小罗水1 天前
第11章 PostgreSQL + pgvector 向量检索
java·数据库·spring cloud·微服务
DBA_G2 天前
南大通用GBase 8s数据库新存储引擎核心能力二
数据库·微服务·架构
爱学习的小可爱卢2 天前
SpringCloud——深入解析SkyWalking源码:TraceProfiling追踪慢方法
spring cloud·微服务·skywalking
小罗水2 天前
第8章 文档解析与文本切片
数据库·spring·spring cloud·微服务
爱学习的小可爱卢2 天前
SpringCloud——SkyWalking全链路监控源码深度解析
java·微服务·springcloud·skywalking
爱学习的小可爱卢2 天前
SpringCloud——SkyWalking告警规则触发WebHook全解析
java·微服务·springcloud·skywalking