Ocelot中文文档-服务发现
Ocelot允许您指定服务发现提供程序,并使用它来查找Ocelot正在将请求转发给下游服务的主机和端口。目前,这仅在GlobalConfiguration部分中受支持,这意味着所有ReRoute将使用相同的服务发现提供程序,以便在ReRoute级别指定ServiceName。
Consul
GlobalConfiguration中需要以下内容。 提供者是必需的,如果你没有指定主机和端口,默认使用Consul。
"ServiceDiscoveryProvider": {
"Host": "localhost",
"Port": 9500
}
将来我们可以添加一个功能,允许ReRoute配置服务发现提供程序。
为了告诉Ocelot一个ReRoute需要使用服务发现提供程序来发现下游主机和端口,您必须在下游请求配置中添加ServiceName,UseServiceDiscovery和LoadBalancer。 目前Ocelot有RoundRobin(轮询)和LeastConnection(最少连接)两个负载均衡的算法。 如果没有指定负载均衡器,Ocelot将不会均衡请求。
{
"DownstreamPathTemplate": "/api/posts/{postId}",
"DownstreamScheme": "https",
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Put" ],
"ServiceName": "product",
"LoadBalancer": "LeastConnection",
"UseServiceDiscovery": true
}
如此设置之后,Ocelot将从服务发现提供程序查找下游主机和端口,并通过可用服务平衡请求。
ACL Token
如果您使用Consul的ACL,Ocelot也支持添加X-Consul-Token头。 为了实现ACL访问,您必须添加下面的附加属性Token。
"ServiceDiscoveryProvider": {
"Host": "localhost",
"Port": 9500,
"Token": "footoken"
}
Ocelot会将这个令牌添加到用来发出请求的consul客户端,然后用于后续的每个请求。
Eureka
这个功能是作为问题 262的一部分被提出。为Netflix的Eureka服务发现提供程序添加支持。 主要原因是它是Steeltoe的一个关键部分,Steeltoe又与Pivotal有关! 反正背景很牛逼。
为了使Eureka工作,需要在 ocelot.json中添加如下配置..
"ServiceDiscoveryProvider": {
"Type": "Eureka"
}
遵循这里的指导,您可能还需要添加一些内容到appsettings.json。 例如,下面的json告诉steeltoe/关键服务在哪里寻找服务发现服务器,以及服务是否应该向其注册。
"eureka": {
"client": {
"serviceUrl": "http://localhost:8761/eureka/",
"shouldRegisterWithEureka": false,
"shouldFetchRegistry": true
}
}
我被告知,如果shouldRegisterWithEureka是false,那么shouldFetchRegistry将会默认为true,所以你不需要显式地将它留在这里。
现在Ocelot将在启动时注册所有必要的服务,并且如果配置有上述json,则会将其注册到Eureka。其中一项服务每30秒(默认)轮询一次Eureka获取最新的服务状态并将其保留在内存中。当Ocelot要求提供给定的服务时,它会从内存中检索出来,因此性能不是一个大问题。注意,此代码由Pivotal.Discovery.Client 的NuGet包提供,所以非常感谢他们的辛勤工作。
Ocelot中文文档-服务发现的更多相关文章
- Ocelot中文文档-Route
路由(Routing) Ocelot主要功能是接收即将发来的请求并转发它们至下游服务.与此同时,以另一个http请求的形式(在将来这可能是任何传输的机制) Ocelot将一个请求的路由描述为另一个路由 ...
- Ocelot中文文档入门
入门 Ocelot仅适用于.NET Core,目前是根据netstandard2.0构建的,如果Ocelot适合您,这个文档可能会有用. .NET Core 2.1 安装NuGet包 使用nuget安 ...
- Ocelot中文文档-微服务ServiceFabric
如果您在Service Fabric中部署了服务,则通常会使用命名服务来访问它们. 以下示例展示如何设置一个ReRoute以便在在Service Fabric中工作. 最重要的是ServiceName ...
- Ocelot中文文档-配置
这里有一个配置的列子.其中有两个配置块.一个ReRoutes数组和一个GlobalConfiguration.ReRoutes配置块是一些告诉Ocelot如何处理上游请求的对象.Globalconfi ...
- .NET Core开源API网关 – Ocelot中文文档
Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由.请求聚合.服务发现.认证.鉴权.限流熔断.并内置了负载均衡器与Service Fabric.Butterfly ...
- Ocelot中文文档-Websockets
Ocelot额外支持代理websockets.这个功能在问题 212中被提出. 为了是Ocelot代理websocket,你需要做如下事情. 在你的Configure方法中,你要告知应用程序使用Web ...
- Ocelot中文文档-负载均衡
Ocelot能通过可用的下游服务对每个ReRoute进行负载平衡. 这意味着您可以扩展您的下游服务,并且Ocelot可以有效地使用它们. 可用的负载均衡器的类型是: LeastConnection - ...
- Ocelot中文文档-不支持
Ocelot不支持一下几点... 分块编码 - Ocelot将始终获取body大小并返回Content-Length头. 如果这不适合你的场景,只能表示抱歉! 转发host头 - 您发给Ocelot的 ...
- Ocelot中文文档-路由
Ocelot的主要功能是接管进入的http请求并把它们转发给下游服务.目前是以另一个http请求的形式(将来可能是任何传输机制). Ocelot将路由一个请求到另一个请求描述为ReRoute.为了在O ...
随机推荐
- iOS中大流中的自定义cell 技术分享
AppDelegate.m指定根视图 self.window.rootViewController = [[UINavigationController alloc] initWithRootView ...
- tar 压缩和解压缩使用笔记
tar 压缩和解压缩使用笔记 1 文件 1.1 打包 1.1 压缩 $ tar czf myfile.txt.tar.gz ./myfile.txt 1.2 解压缩 解压缩到目录: $ mkdir o ...
- C++ Primer 有感(标准库map类型)
map是键-值对的集合.map类型通常可以理解为关联数组:可以使用键作为下标获取一个值,正如内置数组一样.而关联的本质在于元素的值于某个特定的键相关联,而并非通过元素在数组中的位置获取. 1.map对 ...
- android binder理解
Android中的Parcel是什么 Parcel,翻译过来是"打包"的意思.打包干什么呢?是为了序列化. 如果要在进程之间传递一个整数,很简单,直接传就是行了:如果要传 ...
- 【一天一道LeetCode】#66. Plus One
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- Android平台根目录文件
> 系统分区 # adb shell # mount rootfs / rootfs ro 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pt ...
- cocos2d-x项目与vs2013编译
cocos2d-x项目与vs2013编译 2014-12-17 cheungmine 因为C++11引入了众多开源软件的特性,导致cocos2d-x r3.3项目无法用 vs2010编译. 所以安装了 ...
- 加载SpriteBuilder中的scene为何不能带后缀
我们在Xcode中切换SpriteBuilder中的scene时,一般使用的是如下代码: -(void)exitButtonPressed:(CCControl*)sender{ CCLOG(@&qu ...
- 【58】Spring总结之注解(2)
启用注解配置: 1.context:annotation-config 该配置表示启用注解. 2.context:component-scan base-package="." 该 ...
- AES涉及的有限域乘法及字节填充方法
非常值得参考的是官方文档,它详细介绍了AES及其实验过程.博文AES加密算法的C++实现就是基于该文档的介绍及实现,是难得的一篇好文,故在本文最后会附上该文,以作备份. 还有很值得推荐的就是AES的 ...