Eureka服务搭建

1️⃣搭建服务


引入依赖

xml 复制代码
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

启动类加注解

java 复制代码
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }
}

改配置

yml 复制代码
server:
  port: 10086
spring:
  application:
    name: eurekaserver   # eureka服务名称
eureka:
  client:
    service-url:              # eureka服务地址
      defaultZone: http://127.0.0.1:10086/eureka      

2️⃣服务注册


引入依赖

xml 复制代码
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

修改配置

yml 复制代码
spring:
  application:
    name: userservice
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
    

3️⃣服务发现和负载均衡


  • 服务发现

将请求url中的ip端口换成服务名 如 userservice

http://`userservice`/user/1001

  • 负载均衡

在RestTemplate添加@LoadBalanced注解

java 复制代码
@MapperScan("cn.zyw.order.mapper")
@SpringBootApplication
public class OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }
    
    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}

4️⃣负载均衡策略


  • 代码方式: 定义一个新的IRule:
java 复制代码
	@Bean
    public IRule randomRule(){
        return new RandomRule();
    }
  • 配置文件方式:在application.yml文件中
yml 复制代码
userservice: # 要配置的微服务名称
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule   # 负载均衡规则

5️⃣饥饿加载


yml 复制代码
ribbon:
  eager-load:
    enabled: true # 开启饥饿加载
    clients:      # 指定饥饿加载的服务名称
      - userservice
相关推荐
14L4 小时前
互联网大厂Java面试:从Spring Cloud到Kafka的技术考察
spring boot·redis·spring cloud·kafka·jwt·oauth2·java面试
地藏Kelvin4 小时前
Spring Ai 从Demo到搭建套壳项目(二)实现deepseek+MCP client让高德生成昆明游玩4天攻略
人工智能·spring boot·后端
一个有女朋友的程序员4 小时前
Spring Boot 缓存注解详解:@Cacheable、@CachePut、@CacheEvict(超详细实战版)
spring boot·redis·缓存
wh_xia_jun5 小时前
在 Spring Boot 中使用 JSP
java·前端·spring boot
yuren_xia5 小时前
在Spring Boot中集成Redis进行缓存
spring boot·redis·缓存
yuren_xia6 小时前
Spring Boot + MyBatis 集成支付宝支付流程
spring boot·tomcat·mybatis
我爱Jack7 小时前
Spring Boot统一功能处理深度解析
java·spring boot·后端
RainbowJie19 小时前
Spring Boot 使用 SLF4J 实现控制台输出与分类日志文件管理
spring boot·后端·单元测试
面朝大海,春不暖,花不开9 小时前
Spring Boot MVC自动配置与Web应用开发详解
前端·spring boot·mvc
发愤图强的羔羊9 小时前
SpringBoot异步导出文件
spring boot·后端