《云计算与虚拟化技术丛书 Service Mesh实战》—2.5.3示例演示
2.5.3 示例演示
为了使得可以通过Linkerd转发应用请求到后端实例,需要指定目标服务,Linkerd基于指定的目标服务名字寻址到对应的IP地址和端口信息。实际上,Linkerd通过identifer可对以不同方式指定的目标服务进行寻址,对于当前示例,Linkerd配置io.l5d.header.token为默认的identifer,即根据HTTP请求头部信息提取逻辑名字,默认提取Host头部信息,即可使用服务名字web作为HTTP请求的Host头部进行寻址。除此之外,还得指定哪个Linkerd路由器将用于转发应用请求,因为一个Linkerd实例可以运行多个路由器,比如demo路由器。
注意 当使用基于文件的服务发现时,服务名字必须与用于服务发现文件目录下的文件名字一致,否则Linkerd找不到对应目标服务。
我们通过如下命令访问web服务:
# curl -s -H “Host;web” localhost:4140
hello web01
如果多次执行该命令,基于Linkerd提供的负载均衡方法会返回不同实例的输出:
# for i in {1..10}; do curl -s -H “Host;web” localhost:4140; done
hello web02
hello web02
hello web01
hello web02
hello web01
hello web02
hello web01
hello web01
hello web02
hello web01
同时在Linkerd管理界面,可观测到经Linkerd处理的请求数量、客户端如/#/io.l5d.fs/web以及成功率等信息如图2-5所示。
图2-5 Linkerd运行时指标
至此我们已演示Linkerd如何转发应用请求到后端应用,以及通过其内置提供的负载均衡算法进行请求转发,后续章节将做更加详细的介绍。
- 点赞
- 收藏
- 关注作者
评论(0)