首页 > 编程知识 正文

c# 微服务学习_基于netcore微服务框架surging的学习心得(一)

时间:2023-05-05 11:58:27 阅读:229559 作者:1237

我虽然是博客园的常客,但是到今天以前,还没有发过一篇文章,主要是自己的技术比较菜,没什么自信,对于那些开源的技术大神,我是比较佩服的,所以今天我主要想从初学者角度,聊聊我学习surging的一些心得。surging 是基于net core的一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希,随机,轮询,压力最小优先作为负载均衡的算法,RPC集成采用的是netty框架,采用异步传输。这是作者在github上项目说明的一段,看上去是不是很高大上的样子?微服务在java语言上框架很多,在net core上却寥寥无几,这里不得不感叹net core生态贫瘠。但是C#语言的优雅、强大,还有宇宙第一的IDE,让我始终割舍不下。surging 在1.0以下的版本,我就在关注了。目前用surging完成了单位的一个政务系统,已平稳运行3个月了。说实话1.0版本,刚接触确实有点懵,虽然dtdmf的demo我也跑起来了,但是怎么用在自己的项目,很茫然。可能我们是学习net core 从asp.net core mvc和webapi过来的,很多地方都想兼容熟悉的模式,对微服务也是一知半解。经过学习surging一段时间后,知道了它其实已经包含很多基础组件,可以视为一个较为独立框架,非常适合前后端分离的应用,作者已经集成很多功能,大多时候只需关注业务逻辑编写,在学习方面,可以渐进式,先掌握最简单的模式,你可以先尝试用它来开发一个单体应用。初学者我建议多看作者的源码,其实作者的源码已经包含了很多例子,所以不要抱怨文档不够,surging最简单最小的组成包括redis,consul,rabitmq加上开发一个server,这里redis,consul,rabitmq都是必须的组件,看到这里估计大家又觉得麻烦了,我建议大家建一个docker环境,这几个组件从网上pull下来就好,配置参数保持默认就好,微服务不用docker估计安装部署会累死你,一定要用好容器。server开发直接参考作者的server例子吧,要是不会可以现在复制粘贴,要是还是跑不起来,建议看看github上的issues或者提问,问题基本都能解决。server开发有一个比较重要的配置文件是surgingSettings.json,大多数问题都是这个配置文件的参数写的不对。接下来就是业务模块,surging的业务模块建议按照作者例子来写,每个业务模块都有接口项目和模块项目,这样的好处是,以后编译出来便于业务再拆分,也便于实现扫描加载。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。