EurekaServe使用步骤

本文详细介绍了如何搭建Eureka服务注册中心,并注册微服务。同时,讲解了如何使用Ribbon实现负载均衡,包括修改负载均衡策略和启用饥饿加载。此外,还展示了如何在消费者服务中通过RestTemplate实现服务调用的负载均衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Eureka

搭建EurekaServer微服务注册中心服务端

第一步引入依赖:

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

第二步编写SpringBoot启动类添加注解:

@EnableEurekaServer/*自动装配注册中心服务端*/

第三步添加application.yml,添加下面的配置:

server:
  port: 10010 #服务端口
spring:
  application:
    name: eurekaserver #eureka服务名称,先把自己注册到eureka上
eureka:
  client:
    service-url:
      defaultZone: http://localhost:10010/eureka #eureka的地址信息

注册微服务到Eureka服务端

第一步在需要注册的微服务pom.xml文件中添加一下依赖:

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

第二步在该服务的yml配置文件的spring中添加一下内容:

application:
    name: userservice #user服务名称

第三步在该服务的yml配置文件后面添加以下内容:

eureka:
  client:
    service-url:
      defaultZone: http://localhost:10010/eureka #eureka的地址信息

一个服务启动多个实例

1.在Services找到启动服务的列表,在需要复制的服务右键选择Copy Configuration
2.下一步找到Environment展开
3.修改VM option 的值为:-Dserver.port=8085 (指定一个新的端口号)

使用负载均衡(服务的发现和拉取)

1.修改消费者服务的service代码

String url="http://userservice/user/"+order.getUserId();/*地址使用服务名称实现负载均衡*/
//发送http请求,实现远程调用获得User对象
User user = restTemplate.getForObject(url, User.class);

2.在消费者服务的启动类中的restTemplate方法上面加上负载均衡注解

/**
 * 创建RestTemplate并注入Spring容器
 * @return
 */
@Bean/*交给spring管理*/
@LoadBalanced/*负载均衡注解*/
public RestTemplate restTemplate(){
	return new RestTemplate();
}

二、Ribbon负载均衡

修改负载均衡策略

1.方式一:在消费者服务的启动类中定义IRule实现方法可以修改负载均衡策略(作用范围是本服务消费所有的服务都生效)

@Bean
public IRule randomRule(){
	return new RandomRule();/*将负载均衡的策略修改为随机,默认是轮询*/
}

2.方式二:修改消费者服务的application.yml配置文件添加以下内容(只对某个指定的提供者服务生效)

#提供者服务的名称
userservice: 
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #负载均衡规则

饥饿加载(项目启动的时候进行加载)

1.修改消费者服务的application.yml配置文件添加以下内容

ribbon:
  eager-load:
    enabled: true #开启饥饿加载
    clients: #指定饥饿加载的服务名称,可以指定多个服务
      - userservice
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vermouth-1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值