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
相关推荐
MetaLite6 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
凤山老林6 小时前
聊聊企业级 API 安全:Spring Boot 落地 OAuth 2.1、mTLS 与接口签名防篡改
spring boot·后端·安全·oauth
Bs_MoneyMagnet13 小时前
基于springboot+vue的旅游景区点评系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·旅游
ID346107442013 小时前
【课程设计】基于Spring Boot+Vue的校园共享无人机服务系统设计与实现-计算机毕设 附源码44219
javascript·vue.js·spring boot·python·node.js·php·课程设计
vx-程序开发16 小时前
【毕设分享】springboot废品上门回收微信小程序---附源码94491
java·spring boot·毕业设计·源码·课程设计·毕设·大作业
行百里er17 小时前
Spring Insight 里如何对 Span 进行清洗
spring boot·spring cloud·监控
谢亮_vipxieliang17 小时前
ValidX时间段验证详解:ISO 8601标准与简化格式
java·spring boot·后端·spring·spring cloud·hibernate
Bs_MoneyMagnet18 小时前
基于springboot+vue的爱心众筹系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·管理系统
EatFan19 小时前
从单体到模块化:我的 Spring Boot 项目为什么拆成 framework、module、server?
java·spring boot·后端
Bs_MoneyMagnet19 小时前
基于springboot+vue的在线音乐管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring