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
相关推荐
m0_748247551 小时前
springboot中配置logback-spring.xml
spring boot·spring·logback
m0_748250031 小时前
springboot使用logback自定义日志
java·spring boot·logback
程序猿熊跃晖1 小时前
多环境日志管理:使用Logback与Logstash集成实现高效日志处理
spring boot·elk·logback
KingDol_MIni2 小时前
Spring Boot 集成 T-io 实现客户端服务器通信
java·服务器·spring boot
后端码匠2 小时前
Spring Boot3+Vue2极速整合:10分钟搭建DeepSeek AI对话系统
人工智能·spring boot·后端
计算机-秋大田2 小时前
基于Spring Boot的农产品智慧物流系统设计与实现(LW+源码+讲解)
java·开发语言·spring boot·后端·spring·课程设计
计算机毕设指导63 小时前
基于SpringBoot的城乡商城协作系统【附源码】
java·spring boot·后端·mysql·spring·tomcat·maven
华子w9089258593 小时前
基于数据可视化+SpringBoot+安卓端的数字化施工项目计划与管理平台设计和实现
java·spring boot·后端
橘猫云计算机设计3 小时前
基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·django
2501_903238653 小时前
Spring Boot日志配置与环境切换实战
数据库·spring boot·后端·个人开发