学习surging微服务框架心得(一)

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

猜你喜欢

转载自www.cnblogs.com/pzhxguang/p/11437828.html