栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【SpringCloud】1、Eureka

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【SpringCloud】1、Eureka

什么是Eureka

Eureka 是netflix开发的服务发现框架,实现负载均衡和服务注册中心的功能。
在集群的环境下,服务A有多台服务器,服务器地址不同,服务B向服务A发起数据请求时该向哪个服务器发起请求呢?由于服务器不止一个且地址不同那么使用代码普通的实现就很复杂,不仅要考虑所有的服务器还要考虑选择的策略,Eureka作为一个中间件就解决了这个问题。服务A向Eureka注册服务Aserver,将多个服务器地址都注册上去,服务B请求服务A时向Eureka请求Aserver而不是具体地址,Eureka服务器会根据负载均衡的策略选择一个A服务器并且将其和B连接上。

Eureka实现

1、导入依赖
服务器端依赖

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        

客户端依赖

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        

2、配置文件
配置服务名称

spring:
  application:
    name: userserver

配置Eureka服务器地址

eureka:
	client:
    service-url:
      defaultZone: http://localhost:8088/eureka

服务调用:当order服务调用user服务时不会通过具体的url地址去访问,而是通过注册到eureka服务中的userserver这个虚拟地址访问。

restTemplate.getForObject("http://userserver/getUserById/" + userId, User.class);

3、当一个server对应多台服务器时,该怎么选择呢
Ribbon负载均衡。

    @Bean
    @LoadBalanced //Ribbon负载均衡,会将restTemplate的请求进行拦截并且向Eureka请求
    RestTemplate restTemplate(){
        return new RestTemplate();
    }
        

    @Bean
    public IRule ribbonRule(){
//        return new RoundRobinRule();
//        return new WeightedResponseTimeRule();
        return new RandomRule();
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号