eyreka是个服务注册发现组件,不提供服务通信
创建eureka注册中心
application.properties
server.port=8081
spring.application.name=eurka-server
eureka.instance.hostname=127.0.0.1
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://localhost:8081/eureka
启动类添加注解@EnableEurekaServer,运行项目
创建服务提供者
application.properties
server.port=8082
spring.application.name=eureka-client
eureka.client.service-url.defaultZone=http://localhost:8081/eureka
#这两个配置在client端,因为eureka支持不同实例具备不同配置,
# 运行的时候会把eureka.instance的配置发送到service
#续约心跳发送间隔时间
eureka.instance.lease-renewal-interval-in-seconds=10
#过期时间
eureka.instance.lease-expiration-duration-in-seconds=20
启动类添加注解@EnableEurekaClient,运行项目
创建服务消费者
application.properties
server.port=8083
spring.application.name=consumer
eureka.client.service-url.defaultZone=http://localhost:8081/eureka
#不注册到注册中心
eureka.client.register-with-eureka=false
启动类添加注解@EnableEurekaClient,运行项目
@SpringBootApplication
@EnableEurekaClient
@Controller
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
@Autowired
private DiscoveryClient discoveryClient;
@RequestMapping("index")
@ResponseBody
public List<ServiceInstance> getRegister(){
List<ServiceInstance> instances = discoveryClient.getInstances("eureka-client");
return instances;
}
}