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
相关推荐
想进大厂的小王5 分钟前
Spring-cloud 微服务 服务注册_服务发现-Eureka
微服务·eureka·服务发现
代码之光_19805 分钟前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端
戴眼镜的猴1 小时前
Spring Boot的过滤器与拦截器的区别
spring boot
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
尚学教辅学习资料2 小时前
基于SpringBoot的医药管理系统+LW示例参考
java·spring boot·后端·java毕业设计·医药管理
morris1313 小时前
【SpringBoot】Xss的常见攻击方式与防御手段
java·spring boot·xss·csp
阿伟*rui6 小时前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel
paopaokaka_luck8 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
Yaml410 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~10 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端