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 小时前
深入理解微服务下的 Saga 模式——以电商下单为例
微服务·云原生·架构
fanly1110 小时前
创建抖音新号分享知识推广开源项目
微服务·surging microservice
winfield82114 小时前
微服务架构面试高频问题应答手册
微服务
better_liang15 小时前
每日Java面试场景题知识点之-Spring Boot微服务分布式事务处理
java·spring boot·微服务·分布式事务·企业级开发
阿拉斯攀登16 小时前
Spring Cloud Alibaba 生态中 RocketMQ 最佳实践
分布式·微服务·rocketmq·springcloud·cloudalibaba
拾忆,想起18 小时前
Dubbo健康检查全攻略:构建高可观测与高可用的微服务基座
开发语言·微服务·云原生·架构·php·dubbo·safari
阿里云云原生1 天前
阿里云微服务引擎 MSE 及 API 网关 2025 年 11 月产品动态
微服务
努力搬砖的咸鱼2 天前
API 网关:微服务的大门卫
java·大数据·微服务·云原生
古城小栈2 天前
Go 微服务框架 Kratos:从快速上手到生产级实践
微服务·golang
拾忆,想起2 天前
Dubbo服务降级全攻略:构建韧性微服务系统的守护盾
java·前端·网络·微服务·架构·dubbo