Consul Discovery
服务注册功能由 Consul 提供,Spring Cloud 提供集成。
如何引入?
- 引入依赖
org.springframework.cloud:spring-cloud-starter-consul-discovery
。 - 配置文件
application.properties
添加 Consul 服务地址配置。
spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
- 启动类添加
@EnableDiscoveryClient
注解。 - 使用
DiscoveryClient
bean 获取服务。
@Service
public class OrderService {
@Resource
private DiscoveryClient discoveryClient;
public String order(String goodCode) {
// 扣库存
List<ServiceInstance> storeInstances = discoveryClient.getInstances("store");
String storeUrl = storeInstances.get(0).getUri().toString();
// dosth....
}
}