标签:嵌入 agent pass proxy 返回 webapi 分布 serve 出现
1.服务发现,调用方如何发现服务(调用服务出现变动,能找到他)
2.负载均衡,如何调用服务(多个服务实例,如何优先调用)
1.集中式代理---Nginx 2.客户端嵌入--Consul 3.网格服务-Service Mesh
描述:Nginx自身可以实现负载均衡,但需要通过手动添加服务配置,且调度策略归Nginx
配置步骤:
1.nginx.conf里 server----listen
2. location / { proxy_pass http://Microservice; }
3.upstream Microservice{ server localhost:5726; server localhost:5727; server localhost:5728; }
4.start nginx.exe
备注:端口号跟webapi里的端口号一致
描述:Consul可以实现服务的自动注册与发现,也可以实现健康检查,但是自身不可以实现负载均衡
Consul实现过程:客户端---Consul---发现服务实例----定期健康检查---返回给Consul
Consul实现微服务的步骤:
1.负载均衡(客户端自己决定)
2.服务注册与发现
3.健康检查
Consul优点:
功能强大,自动发现-自动下线
Consul缺点:
客户端集成复杂(负载均衡在客户端实现),客户端决定调度策略
Consul实现步骤:
A.服务实例注册
B.客户端从Consul里发现服务实例
C.客户端调用服务实例
Consul.exe命令行启动
consul.exe agent -dev
访问地址:http://localhost:8500/ui/dc1/services
服务启动时注册,且注册一次
WebApi向Consul里注册
在Nuget里添加Consul
1.在startup里注册服务实例
2.在客户端拿到url
3.通过URL找到实例
4.服务挂了,影响业务,心跳检查
Consul跟Nginx对比
1.Consul不用手动添加服务实例,有健康检查,可以调用根据url调用实例,但是得客户端实现负载均衡
2.Nginx本身可以实现负载均衡,但是得手动添加服务实例
描述:
每台电脑 里面都有一个Sidercar ,负责调度策略,负载均衡,健康检查
实现:
主机+代理
优点:
独立性,自己玩自己的,不受别人的影响
缺点:
复杂度上升,每台电脑得安装
标签:嵌入 agent pass proxy 返回 webapi 分布 serve 出现
原文地址:https://www.cnblogs.com/debugsxs223/p/12929647.html