<一>surging 跑起来
写下此文章只为了记录Surging微服务学习过程,废话不多说直接上步骤。
1、拉代码,如何拉?自己百度吧,github直接拉master分支,使用vs2019打开,项目结构如下:
如上就是最新的社区版master分支解决方案结构,看了下英文名,大概能看明白意思,但是有几个不知道,毕竟没有文档,真的难,只能慢慢摸索,哈哈哈
DotNetty.Codecs -------->?
Surging.Apm -------->?
Surging.Core -------->这是surging的核心组件库
Surging.IModuleServices -------->服务接口
Surging.Module --------->这个就是服务接口实现了
Surging.Services --------->?
WebSocket ---------->?
Surging.ApiGateway ---------->网关的实现,作者已经给我们实现网关了。
Surging.Web ---------->?
2、跑起来
跑起来之前看下要下一些中间件,rabbitmq,consul,redis。这里就不用docker了,直接在windows上安装,安装完把这三个服务开起来。不懂得百度吧。
然后右键解决方案,把启动选项改为多项目启动,选中Surging.ApiGateway,Surging.Services 设为启动。ApiGateway提供网关,Services提供服务。
设置好后直接运行,会打开一个console和一个网关网页。我们先来看看服务提供者做了哪些事。
服务启动后会在这里看到有哪些服务注册并被consul发现了,并监听280 端口,
每秒钟写一次log或者说是健康检查?还不知道代码逻辑,慢慢看
作者的网关已经给我们做了几个监控系统。
从控制台已经看到了内部服务的地址端口是280,那么就可以直接访问集成的swagger.
直接在浏览器输入http://127.0.0.1:280/swagger/index.html 可以看到目前已经启动的服务。如下:
下面使用postman经过网关调取服务,进入网关的程序入口可以看到网关固定端口是729
在swagger里面查看授权接口需要哪些参数,看到了,需要一个可空的servicekey,
和一个requestData的json格式参数,参数列表已经看到了,userName,password。
这两个参数在userservice 的Authentication函数下,默认是admin,admin,其实就是作者给的demo。
userName和password都有了,最后调用结果如下:
有没有发现postman明明访问的是api/oauth2/token,通过网关自动映射到api/userservice/Authentication了?
后面再看。