负载均衡基本流程nacos与eureka比较

一.负载均衡流程

 

二.常见负载均衡算法

轮询(Round Robin)

请求到达后,将客户端发送到负载均衡器的请求依次轮流地转发给服务集群的某个节点。

优点:实现简单,每个集群节点平均分担所有的请求。

缺点:当集群中服务器硬件配置不同、性能差别大时,无法区别对待。引出下面的算法。

随机(Random)

随机选取集群中的某个节点来处理该请求,由概率论的知识可知,随着请求量的变大,随机算法会逐渐演变为轮询算法,即集群各个节点会处理差不多数量的请求。

优点:简单使用,不需要额外的配置和算法。

缺点:随机数的特点是在数据量大到一定量时才能保证均衡,所以如果请求量有限的话,可能会达不到均衡负载的要求。

加权

加权算法主要是根据集群的节点对应机器的性能的差异,给每个节点设置一个权重值,其中性能好的机器节点设置一个较大的权重值,而性能差的机器节点则设置一个较小的权重值。权重大的节点能够被更多的选中。它是和随机、轮训一起使用的。

优点:可以根据机器的具体情况,分配不同的负载,达到能者多劳。

缺点:需要额外管理加权系数。

最小连接数

主要是根据集群的每个节点的当前连接数来决定将请求转发给哪个节点,即每次都将请求转发给当前存在最少并发连接的节点。

优点:可以根据集群节点的负载情况来进行请求的动态分发,即机器性能好,处理请求快,积压请求少的节点分配更多的请求。避免某个节点因为处理超过自身所能承受的请求量而导致宕机或者响应过慢。

hash

将对请求的IP地址或者URL计算一个哈希值,然后与集群节点的数量进行取模来决定将请求分发给哪个集群节点。它不是真正意义上的负载均衡,在某些意义上也是一个单点服务。

优点:实现简单

缺点:如果某个节点挂了,会使得一部分流量不可用。

 

三.nacos与eureka比较

Nacos与eureka的共同点

都支持服务注册和服务拉取

都支持服务提供者心跳方式做健康检测

Nacos与Eureka的区别

Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式

临时实例心跳不正常会被剔除,非临时实例则不会被剔除

Nacos支持服务列表变更的消息推送模式,服务列表更新更及时

Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

四.nacos与eureka配置

1.nacos配置

yml配置文件中添加相关配置

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
    username: root
    password: 114107
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ

pom文件中引入依赖包

<!-- nacos客户端依赖包 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2.eureka配置

yml配置文件中添加相关配置

eureka:
  client:
    service-url:  # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka

pom文件中引入依赖

    <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值