Eureka Clients
如何引入Eureka Client
1 | <dependency> |
注册到Eurake
当一个client注册到Eureka,它提供自己的meta-data,例如host,port,health indicator URL,home page等。Eureka接受心跳信息从属于一个服务的每个实例。如果心跳在一个配置的时间内失败,实例将从注册中心移除。
1 | @EnableEurekaClient |
application.yml
1 | eureka: |
- Authenticating with the Eureka Server
在
1 | * Why is it so Slow to Register a Service? |
1 | ### 如何运行一个Eureka Server |
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
1 | Eureka Server有一个UI主页来查看注册的服务信息,```/eureka/```。 |
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://{server.port}/eureka/
1 | 注意`serverUrl`指向本地实例的host。 |
spring:
profiles: peer1
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2/eureka/
spring:
profiles: peer2
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1/eureka/
你可以添加多个peers到一个系统,只要它们互相至少有一边连接,它们将互相同步注册信息。如果peers存在物理分区,该系统原则上可能存在裂脑问题。
### Prefer IP Address
通常,Eureka更喜欢暴露它的IP地址而不是它的hostname,设置`eureka.instance.preferIpAddress`为`true`,当注册时,它将使用它的IP地址而不是hostname。