迎元旦,庆surging 1.0发布

一位摄影程序员的独白

迎元旦,庆surging 1.0发布

       每个人都有爱好,都有释放压力的活动,而我也不例外,我除了每天上班,周末就会约一群好友去拍妹子,成家后,就改为拍虫子,一拍就到了30岁,到了30岁就感觉到了中年的压力,这时候停下手中的摄影,开始研究技术,我开始翻阅各种技术博客,各种开源作品,静下心去研究技术时,发现.NET的技术非常薄弱,各种解决方案都非常欠缺,尤其是微服务,在.NET领域基本上一片空白,这时候碰巧.NET CORE 的出现,研发surging想法也开始萌芽,也到处跟同事说,我要研发一套微服务框架,真正意义上的微服务框架,让大家都去关注业务,而无需去关注webapi,rest,http,tcp,rabbitmq,缓存等与业务无关的技术,这些都由框架和中间件去实现,而同事,朋友投过来的都是鄙夷,惊讶,意思是就凭你,是啊!就凭我,在不断学习下,2017年我开始迈出了研发的第一步,2017年6月16日开始在github 进行开源。而半个月后被邀请到TCC开源小组孵化surging.

        转眼间已经到2018年年尾,还有一个星期就跨入2019年,在新年到来的日子,surging 也准备发布1.0稳定版本,在这1年半的日子里,耗费了多少个日日夜夜我已经记不清,每天下班回来我都要理清下surging ,还有哪些欠缺,需要弥补,需要完善,耗费了心血和时间在surging上,但是这一切都是值得的,因为有些公司已经采用surging  ,在微服务上已经给了非常好的解决方案,并且有一家物联网公司已经使用surging 的ws,mqtt协议,据了解客户端设备就有好几万台。那下面我们来看看1.0版本有那些功能。

 

组件介绍

一、通信组件
1. Dotnetty:

针对于底层的http,mqtt,TCP协议采用了dotnetty进行实现 ,并且可以配置使用Libuv,而dotnetty 是微软的Azure团队,使用C#实现的Netty的版本,性能非常强大。

2.websocket-sharp:

针对于底层的websocket采用了websocket-sharp进行实现,因为官方未支持.net core,所以把它转化支持.NET CORE,并且源码放到surging ,并且同时和suring 一起发布

2.Kestrel:

针对于底层的Http协议采用了Kestrel进行实现,并且swagger也依赖于Kestrel,后期会扩展身份验证,数据加密,服务聚合等功能以代替网关,并且还会完善基于Kestrel的文件服务

二、编解码组件

1.Newtonsoft.Json

针对于json 的编解码采用了Newtonsoft.Json进行实现 ,并且默认使用Newtonsoft.Json进行编解码

2.MessagePack-CSharp

针对于messagepack 的编解码采用MessagePack-CSharp进行实现,MessagePack-CSharp是用于C#实现的MessagePack序列化组件,比官方的MsgPack-Cli快10倍,与其他所有C#序列化程序相比,具有最好的性能

3.protobuf-net

针对于二进制的protobuf格式的编解码采用的是protobuf-net进行实现

三、日志组件 1.Nlog

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwddpz.html