spring cloud
1、服务注册中心
@EnableEurekaServer 服务
@EnableEurekaClient 客户
Eureka有心跳检测,健康检查,负责均衡等功能
Eureka高可用 生产上至少两台以上
2、服务发现
客户端发现 eureka
服务端发现 nginx dubbo zookeeper
3、调用服务的方式
restTemplate
第一种 直接使用restTemplate
restTemplate.getForObject(url) //缺点 url固定写死
第二种 使用loadBalanceClient通过应用名获取url 再使用restTemplate
ServiceInstance serviceInstance = loadBalanceClient.choose(serviceid)
serviceInstance.getHost(); .
serviceInstance.getPort();
第三种 使用@LoadBalanceClient注解,可在restTemplate使用应用名
feign
客户端的接口加@feignClient注解
4、客户端负载均衡器
Ribbon
服务发现,服务选择规则,服务监听