微服务篇之负载均衡

这篇具有很好参考价值的文章主要介绍了微服务篇之负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Ribbon负载均衡流程

微服务篇之负载均衡,微服务,java,架构,负载均衡,面试

二、Ribbon负载均衡策略

        1. RoundRobinRule:简单轮询服务列表来选择服务器。

        2. WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小。

        3. RandomRule:随机选择一个可用的服务器。

        4. BestAvailableRule:忽略那些短路的服务器,并选择并发数较低的服务器。

        5. RetryRule:重试机制的选择逻辑。

        6. AvailabilityFilteringRule:可用性敏感策略,先过滤非健康的,再选择连接数较小的实例。

        7. ZoneAvoidanceRule:以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询。

三、自定义负载均衡策略

        可以自己创建类实现IRule接口 , 然后再通过配置类或者配置文件配置即可 ,通过定义IRule实现可以修改负载均衡规则,有两种方式:

微服务篇之负载均衡,微服务,java,架构,负载均衡,面试

四、面试题及回答

面试官:你们项目负载均衡如何实现的 ?

候选人:在服务调用过程中的负载均衡一般使用SpringCloud的Ribbon 组件实现 , Feign的底层已经自动集成了Ribbon , 使用起来非常简单。当发起远程调用时,ribbon先从注册中心拉取服务地址列表,然后按照一定的路由策略选择一个发起远程调用,一般的调用策略是轮询。

面试官:Ribbon负载均衡策略有哪些 ?

候选人:我想想啊,有很多种,我记得几个:

  • RoundRobinRule:简单轮询服务列表来选择服务器。

  • WeightedResponseTimeRule:按照权重来选择服务器,响应时间越长,权重越小。

  • RandomRule:随机选择一个可用的服务器。

  • ZoneAvoidanceRule:区域敏感策略,以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询(默认)。

面试官:如果想自定义负载均衡策略如何实现 ?

候选人:提供了两种方式:

1. 创建类实现IRule接口,可以指定负载均衡策略,这个是全局的,对所有的远程调用都起作用。

2. 在客户端的配置文件中,可以配置某一个服务调用的负载均衡策略,只是对配置的这个服务生效远程调用。文章来源地址https://www.toymoban.com/news/detail-833741.html

到了这里,关于微服务篇之负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java实习面试经验汇总,Dubbo-负载均衡原理解析,TCP的三次握手、四次挥手

    if (sameWeight i 0 !weight.equals(weights[i - 1])) { sameWeight = false; } } Integer sequenceNum = Sequence.getAndIncrement(); Integer offset = sequenceNum % totalWeight; offset = offset == 0 ? totalWeight : offset; if (!sameWeight) { for (String ip : ServerIps.WEIGHT_LIST.keySet()) { Integer weight = ServerIps.WEIGHT_LIST.get(ip); if (offset = weight) { ret

    2024年04月25日
    浏览(40)
  • 【Java】微服务——Ribbon负载均衡(跟进源码分析原理)

    添加@LoadBalanced注解,即可实现负载均衡功能,这是什么原理 SpringCloud底层其实是利用了一个名为Ribbon的组件,来实现负载均衡功能的。 为什么我们只输入了service名称就可以访问了呢?之前还要获取ip和端口。 显然有人帮我们根据service名称,获取到了服务实例的ip和端口。它

    2024年02月07日
    浏览(41)
  • lvs DR模式+基于五台服务器部署keepalived + lvs DR模式架构(前端带路由)负载均衡的高可用集群

    lvs DR 模式+基于五台服务器部署keepalived + lvs DR模式架构(前端带路由)负载均衡的高可用集群 DR 模式一: 客户端:172.20.26.167 LVS服务器:172.20.26.198 后端服务器:172.20.26.218 后端服务器:172.20.26.210 两台后端服务器 yum install nginx tcpdump -y echo \\\"this is 26.218 page\\\" /usr/share/nginx/html/index

    2024年02月19日
    浏览(52)
  • 阿里云负载均衡SLB网络型NLB负载均衡架构性能详解

    阿里云网络型负载均衡NLB是阿里云推出的新一代四层负载均衡,支持超高性能和自动弹性能力,单实例可以达到1亿并发连接,帮您轻松应对高并发业务。网络型负载均衡NLB具有超强性能、自动弹性伸缩、高可用、TCPSSL卸载、多场景流量分发和丰富的高级特性。网络型负载均衡

    2024年02月14日
    浏览(49)
  • HAProxy负载均衡架构

    (1)HAProxy 是一款 提供高可用性、负载均衡 以及 基于TCP(第四层)和HTTP(第七层)应用 的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别 适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理 。HAProxy运行在时下的硬件上

    2024年02月01日
    浏览(50)
  • 架构篇20:高性能负载均衡-分类及架构

    单服务器无论如何优化,无论采用多好的硬件,总会有一个性能天花板,当单服务器的性能无法满足业务需求时,就需要设计高性能集群来提升系统整体的处理性能。 高性能集群的本质很简单,通过增加更多的服务器来提升系统整体的计算能力。由于计算本身存在一个特点:

    2024年01月25日
    浏览(48)
  • LNMT架构之反向代理负载均衡

    目录 一、实验前提环境配置 (一)关闭防火墙,安装本地yum (二)部署tomcat (三)部署Mariadb (四)部署nginx 二、反向代理负载均衡 方法一:(轮询)默认 方法二:(加权轮询) systemctl stop firewalld iptables -F setenforce 0 1、 单机部署 步骤一: 安装两个tomcat tar -xzf apache_tomc

    2024年02月07日
    浏览(40)
  • 架构篇21:高性能负载均衡-算法

    负载均衡算法数量较多,而且可以根据一些业务特性进行定制开发,抛开细节上的差异,根据算法期望达到的目的,大体上可以分为下面几类。 任务平分类:负载均衡系统将收到的任务平均分配给服务器进行处理,这里的“平均”可以是绝对数量的平均,也可以是比例或者权

    2024年01月25日
    浏览(54)
  • LVS+Keepalived架构(负载均衡高可用集群)

    普通的群集的部署是通过 一台调度器控制调配多台节点服务器 进行业务请求的处理,但是仅仅是一台调度器,就会存在极大的单点故障风险,当该调度器的链路或则调度器本身出现故障时,就会导致整个业务的无法正常进行  而高可用集群是由 一台主调度器和一台或多台备

    2024年02月12日
    浏览(58)
  • PHP面试宝典之高并发、负载均衡

    高并发:系统能够同时并行处理很多请求(同一时间内大量的网络请求),指标:响应时间,吞吐量,每秒查询率,并发用户数 高性能:程序处理速度快,所占内存少、cpu占用率低。 高可用:一个系统经过设计,从而减少停工时间,保持其服务的高度可用性 不出现单点故障

    2024年02月01日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包