Eureka和Ribbon

Eureka使用

创建moudle

pom文件上导入依赖

父工程定义版本
<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR10</spring-cloud.version>
        <mysql.version>5.1.47</mysql.version>
        <mybatis.version>2.1.1</mybatis.version>
</properties>
模块导入
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

在启动类添加注解

@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:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
​
​
​

其他项目中:

1.引入依赖
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2.在yml中加入服务
spring:
  application:
    name: userservice服务名
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka//注册eureka

添加多个项目实例

更改名字,modify-options选择vm options设置端口!

修改服务

1.将服务url名用服务名代替,String url="http://userservice/user/"+order.getUserId();

Ribbon负载均衡

  1. 在RestTemplete中加入@LoadBalanced注解负载均衡注解

  2. LoadBalanced默认选择离他最近的服务,可以实现IRule进行随机选择(全局)

    @Bean
    public IRule randomRule(){return new RandomRule()}

4.在order-service的application.yml中,添加新的配置也可以修改规则:(当前微服务)

userservice:
    ribbon:
        NFLoadBalancerRuleClassName:com.netflix.loadbalancer.RandomRule#负载均衡规则

饥饿加载

ribbon:
    eager-load:
        enabled: true#开启饥饿加载
        clients:#指定单个对userservice这个服务饥饿加载
            -userservice

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EurekaRibbon是Spring Cloud中的两个重要组件,用于微服务架构中的服务发现和负载均衡。 Eureka是一个服务注册中心,它可以实现服务的发现和调用。在微服务体系中,服务的发现和调用往往需要与负载均衡概念相结合。Eureka可以帮助服务消费者自动获取服务提供者的地址列表,并基于某种负载均衡算法,选择其中一个服务提供者实例来发送请求。 Ribbon是Netflix发布的负载均衡器,它可以控制HTTP和TCP客户端的行为。当RibbonEureka配合使用时,Ribbon可以自动从EurekaServer获取服务提供者的地址列表,并根据负载均衡算法选择一个服务提供者实例来发送请求。Ribbon默认提供了一些负载均衡算法,如轮询、随机等,并允许用户自定义负载均衡算法。 总结来说,Eureka用于服务的注册和发现,而Ribbon用于服务的负载均衡。通过EurekaRibbon的配合使用,可以实现在微服务架构中的服务发现和负载均衡。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [springCloud之Eureka之负载均衡Ribbon](https://blog.csdn.net/newsun87/article/details/128193755)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [EurekaRibbon](https://blog.csdn.net/ysdd_start/article/details/107809243)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值