.Net Core微服务入门全纪录(四)——Ocelot-API网关(上) (2)

然后在Startup中修改一下注入的类型,别的就不用改了,这就是依赖注入的好处之一。。。
Startup.ConfigureServices():

//注入IServiceHelper //services.AddSingleton<IServiceHelper, ServiceHelper>(); //注入IServiceHelper services.AddSingleton<IServiceHelper, GatewayServiceHelper>();

Startup.Configure():

//程序启动时 获取服务列表 //serviceHelper.GetServices();

运行客户端测试:

.Net Core微服务入门全纪录(四)——Ocelot-API网关(上)

好了,现在客户端对服务的调用都通过网关进行中转,客户端再也不用去关心那一堆服务实例的地址,只需要知道网关地址就可以了。另外,服务端也避免了服务地址直接暴露给客户端。这样做对客户端,服务都非常友好。

至于我们的api网关呢,又要说到服务发现的问题了。目前我们的服务地址是写在ocelot.json配置文件里的,当然这种做法在服务实例不经常变化的情况下是没有问题的,一旦服务变化,需要人为的修改配置文件,这又显得不太合理了。

当然,强大的Ocelot为我们提供了服务发现的方案。

代码放在:https://github.com/xiajingren/NetCoreMicroserviceDemo

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

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