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
相关推荐
露天赏雪3 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
蜗牛8759 小时前
为 Spring Boot 团队做一个 Elasticsearch 查询工作台:六种模式、语义补全与浏览器直连
spring boot
养军博客12 小时前
Spring Boot 3.x + Spring Security 6.x 整合 JWT 实战:jjwt 与 java-jwt 两种工具库详解
java·spring boot·springsecurity
txxzjmzlh1 天前
SpringBoot 统⼀功能处理
java·spring boot·后端
秋天的怀念_David1 天前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
余槐i1 天前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
nice_lcj5202 天前
【从零理解 Spring AI · 03】Spring AI 在 Spring 生态里的位置
java·spring boot·大模型·spring ai·ai应用开发
AI源码2 天前
旅游推荐管理系统
spring boot
aiks_yuan2 天前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
Thomas.Sir2 天前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot