c# 微服务Ocelot网关服务发现

前面提到微服务方案,介绍了该东西,推荐一篇介绍博文https://www.cnblogs.com/jesse2013/p/net-core-apigateway-ocelot-docs.html

我要说的是Ocelot服务发现方案,其自身已经集成了Consul,Eureka服务发现,其项目名称分别是Ocelot.Provider.Consul,Ocelot.Provider.Eureka。

由于一些原因,我是不建议使用的,但是不得不说这2个是成熟稳定的,对于一般的中小项目推荐使用etcd.Ocelot并没有直接集成它,但是完全可以按照Ocelot.Provider.Consul集成,Git上面已经存在了https://github.com/BuiltCloud/Ocelot.Provider.Etcd.git

由于etcd是底层建设,所以我扩展了项目,提供了etcd对服务注册和发现。

Ocelot.Provider.Etcd项目采用了Consul的方法,当前服务发现是基于单节点的,配置的是IP和端口。

所以我再此扩展了Ocelot.Provider.Etcd,里面重写了服务发现提供类,并且扩展IOcelotBuilder。可以通过单节点启动后,内部定时间隔刷新集群的地址,一旦该单节点失效,内部将根据获取的集群节点,立即重写建立一个连接。

etcd服务正常项目:https://github.com/jinyuttt/etcd.Provider.Service.git

Ocelot.Provider.Etcd项目扩展:https://github.com/jinyuttt/Ocelot.Provider.Etcd.Extensions

上面项目都已经上传nuget

完美!!!!!!!!!哈哈哈

扫描二维码关注公众号,回复: 6150605 查看本文章

猜你喜欢

转载自blog.csdn.net/jinyuttt/article/details/89918568