【单机版】
pom文件:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
启动类:
@SpringBootApplication
@EnableEurekaClient //启用 eureka client 相关默认配置
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
控制器(ps:其实没啥用):
@RestController
public class EurekaClientController {
@Value("${server.port}")
private String port;
/**
* 提供restful服务,返回访问URL
*
* @param request
* @return
*/
@RequestMapping("/info")
public String info(HttpServletRequest request) {
return request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getServletPath();
}
}
配置文件:application.yml
server:
port: 52601
spring:
application:
name: eureka-client
eureka:
instance:
hostname: localhost
lease-renewal-interval-in-seconds: 5 #表示Eureka Client间隔多久去拉取服务注册信息,默认30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-expiration-duration-in-seconds: 10 # 表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。# 默认为90秒 # 如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。# 如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。# 该值必须应该大于 leaseRenewalIntervalInSeconds
client:
service-url:
defaultZone: http://localhost:8080/eureka/,http://localhost:8081/eureka/,http://localhost:8082/eureka/
启动服务,访问路径http://localhost:52601/info
为保证服务高可用,你懂得,搭建集群:【服务提供者】
application-client1.yml
application-client2.yml
application-client3.yml
记得修改server.port
然后配置服务,启动服务
查看服务注册中心:
三个服务成功注册到 服务中心,名字均为 EUREKA-CLIENT
(ps:配置文件 spring.application.name 是啥,这里显示就是啥, )
集群完毕!!!