中高级Java开发面试题,搭建Eureka注册中心

本文介绍了如何搭建和配置Eureka服务注册中心,包括关闭自我保护机制、设置剔除服务间隔。同时展示了创建Eureka客户端的步骤,如引入依赖、配置服务地址等,并演示了如何基于Eureka客户端进行服务调用。最后提到了Eureka集群的搭建,通过两个Eureka服务实例实现互相注册。此外,文章还提及了面试准备和相关技术资料。
摘要由CSDN通过智能技术生成

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集群

--------------------------------------------------------------------



![在这里插入图片描述](https://img-blog.csdnimg.cn/d4890f361e104d48acd9a15898cfd5dc.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3c0NzE3Njc1,size_16,color_FFFFFF,t_70)  

新建两个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/ 

分享

这次面试我也做了一些总结,确实还有很多要学的东西。相关面试题也做了整理,可以分享给大家,了解一下面试真题,想进大厂的或者想跳槽的小伙伴不妨好好利用时间来学习。学习的脚步一定不能停止!

需要这份资料的朋友戳这里免费下载,整理出的内容大概如下:

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

Spring Cloud实战

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

Spring Boot实战

薪酬缩水,“裸辞”奋战25天三面美团,交叉面却被吊打,我太难了

步一定不能停止!

需要这份资料的朋友戳这里免费下载,整理出的内容大概如下:

[外链图片转存中…(img-PLWRT028-1628227376734)]

Spring Cloud实战

[外链图片转存中…(img-TY4wDXao-1628227376737)]

Spring Boot实战

[外链图片转存中…(img-4XfAntFU-1628227376739)]

面试题整理(性能优化+微服务+并发编程+开源框架+分布式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>