server:
enable-self-preservation: false #关闭自我保护机制
eviction-interval-timer-in-ms: 4000 #剔除服务间隔
3. **激活eureka服务**
springboot启动类上添加注解
@EnableEurekaServer
[](https://gitee.com/vip204888/java-p7)搭建eureka客户端
-----------------------------------------------------------------------
_**新建一个springboot服务**_
1. **引入坐标**
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2. 添加配置文件
eureka 客户端
eureka:
client:
service-url:
defaultZone: http://localhost:9091/eureka/
instance:
instance-id: ${spring.application.name}:${server.port}:@project.version@
hostname: node1
prefer-ip-address: true #优先使用IP地址方式进行注册服务
3. 激活eureka服务
可以不用激活,默认激活状态
@EnableDiscoveryClient
[](https://gitee.com/vip204888/java-p7)服务调用
----------------------------------------------------------------
/**
* eureka客户端
*/
@Autowired
private DiscoveryClient discoveryClient;
/**
* 基于eureka客户端调用远程服务
*
* @return
*/
@Override
public List<OrderEntity> getOrderList() {
List<OrderEntity> orderList = orderMapper.getOrderList();
List<Integer> idList = orderList.stream().map(o ->
o.getProductId()).distinct().collect(Collectors.toList());
//通过服务名称获取实例
List<ServiceInstance> instances = discoveryClient.getInstances("service-product");
ServiceInstance serviceInstance = instances.stream().findFirst().orElse(null);
log.info("host:{}-----------post:{}",serviceInstance.getHost(),serviceInstance.getPort());
String url = StrUtil.format(“http://{}:{}/product/list?ids={}”,
serviceInstance.getHost(),serviceInstance.getPort(),StrUtil.join(",",idList));
//调用远程服务
ResponseEntity<List> entity = restTemplate.getForEntity
(url, List.class);
if (Objects.nonNull(entity) && Objects.equals(entity.getStatusCode().value(), 200)) {
List<ProductEntity> body = entity.getBody();
log.info("实体对象:{}", StrUtil.toString(body));
}
return orderMapper.getOrderList();
}
[](https://gitee.com/vip204888/java-p7)eureka集群
--------------------------------------------------------------------

新建两个eureka服务
端口9090,9091互相注册
1号server
server:
port: 9091
spring:
application:
name: eureka-server1
#eureka server 配置
eureka:
instance:
hostname: localhost
client:
#register-with-eureka: false #是否将自己注册到注册中心
#fetch-registry: false #是否从eureka获取注册信息
service-url: #配置暴露给eureka client的请求地址defaultZone
#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
defaultZone: http://127.0.0.1:9090/eureka/
分享
这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!
需要这份资料的朋友戳这里免费下载,整理出的内容大概如下:

Spring Cloud实战

Spring Boot实战

步一定不能停止!
需要这份资料的朋友戳这里免费下载,整理出的内容大概如下:
[外链图片转存中…(img-PLWRT028-1628227376734)]
Spring Cloud实战
[外链图片转存中…(img-TY4wDXao-1628227376737)]
Spring Boot实战
[外链图片转存中…(img-4XfAntFU-1628227376739)]
面试题整理(性能优化+微服务+并发编程+开源框架+分布式)
本文介绍了如何搭建和配置Eureka服务注册中心,包括关闭自我保护机制、设置剔除服务间隔。同时展示了创建Eureka客户端的步骤,如引入依赖、配置服务地址等,并演示了如何基于Eureka客户端进行服务调用。最后提到了Eureka集群的搭建,通过两个Eureka服务实例实现互相注册。此外,文章还提及了面试准备和相关技术资料。
6676

被折叠的 条评论
为什么被折叠?



