当前位置: 首页 > news >正文

如何选择网站域名发稿服务

如何选择网站域名,发稿服务,顺德企业门户网站建设,国内外b2b网站网址有哪些一、Ribbon 1.1、概述 Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具,是Netflix发布的一款开源项目,其主要功能是提供客户端的软件负载均衡算法和服务调用,Ribbon客户端组件提供一系列完善的配置项,例如&#xff1a…

一、Ribbon

1.1、概述

        Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具,是Netflix发布的一款开源项目,其主要功能是提供客户端的软件负载均衡算法和服务调用,Ribbon客户端组件提供一系列完善的配置项,例如:连接超时、重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。

1.2、spring-cloud-starter-alibaba-nacos-discovery默认集成了Ribbon

1.3、官网

https://github.com/Netflix/ribbon/wiki/Getting-Started

1.4、Ribbon进入维护模式怎么办

        未来的替代方案:Spring Cloud LoadBalancer。 

1.5、功能

1.5.1、LB

        LB的全称是Load Balance,中文意思为负载均衡,简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用),常见的负载均衡有软件Nginx,LVS,硬件 F5等。

1.5.2、Ribbon本地负载均衡 vs Nginx服务端负载均衡

        Nginx是服务器负载均衡,客户端所有请求都会交给Nginx,然后由Nginx实现转发请求,即负载均衡是由服务端实现的。Ribbon本地负载均衡,在调用微服务接口时候,会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用。

1.5.3、集中式LB

        即在服务的消费方和提供方之间使用独立的LB设施(可以是硬件,如F5, 也可以是软件,如nginx), 由该设施负责把访问请求通过某种策略转发至服务的提供方;

1.5.4、进程内LB

        将LB逻辑集成到消费方,消费方从服务注册中心获取有哪些地址可用,然后自己再从这些地址中选择出一个合适的服务器。Ribbon就属于进程内LB,它只是一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址;

1.6、 Ribbon工作原理

Ribbon在工作时分成两步:
第一步:从注册中心查询可用的服务列表;
第二步:根据用户指定的策略,从可用的服务列表中选择一个地址。其中Ribbon提供了多种策略:比如轮询、随机和根据响应时间加权。原理图如下:

小总结:Ribbon其实就是一个软负载均衡的客户端组件,它可以和其他所需请求的客户端结合使用,和Nacos结合只是其中的一个实例,也可以和Eureka结合;

1.7、核心组件IRule

1.7.1、概述

        根据特定算法中从服务列表中选取一个要访问的服务。

1.7.2、继承结构

1.7.3、组件介绍

(1)com.netflix.loadbalancer.RoundRobinRule:轮询

(2)com.netflix.loadbalancer.RandomRule:随机

(3)com.netflix.loadbalancer.RetryRule:先按照RoundRobinRule的策略获取服务,如果获取服务失败则在指定时间内会进行重试,获取可用的服务

(4)com.netflix.loadbalancer.WeightedResponseTimeRule:对RoundRobinRule的扩展,响应速度越快的实例选择权重越大,越容易被选择

(5)BestAvailableRule:会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务

(6)AvailabilityFilteringRule:先过滤掉故障实例,再选择并发较小的实例

(7)ZoneAvoidanceRule:默认规则,复合判断server所在区域的性能和server的可用性选择服务器

1.7.4、IRule原理

负载均衡算法:rest接口第几次请求数 % 服务器集群总数量 = 实际调用服务器位置下标  ,每次服务重启动后rest接口计数从1开始。
 List<ServiceInstance> instances = discoveryClient.getInstances("CLOUD-PAYMENT-SERVICE");
 如:   List [0] instances = 127.0.0.1:8002
   List [1] instances = 127.0.0.1:8001
 8001+ 8002 组合成为集群,它们共计2台机器,集群总数为2, 按照轮询算法原理:
当总请求数为1时: 1 % 2 =1 对应下标位置为1 ,则获得服务地址为127.0.0.1:8001
当总请求数位2时: 2 % 2 =0 对应下标位置为0 ,则获得服务地址为127.0.0.1:8002
当总请求数位3时: 3 % 2 =1 对应下标位置为1 ,则获得服务地址为127.0.0.1:8001
当总请求数位4时: 4 % 2 =0 对应下标位置为0 ,则获得服务地址为127.0.0.1:8002
依次类推......

1.8、如何使用

(1)导入依赖:

<!-- nacos 服务注册&发现 -->

<dependency>

         <groupId>com.alibaba.cloud</groupId>

         <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>

</dependency>

(2)配置Bean:

MyRandom代码:

/*** @Author : 一叶浮萍归大海* @Date: 2024/1/3 9:00* @Description:*/
public class MyRandomRule extends AbstractLoadBalancerRule {@Overridepublic Server choose(Object key) {// 获取当前请求的服务实例ILoadBalancer loadBalancer = this.getLoadBalancer();List<Server> servers = loadBalancer.getReachableServers();int index = ThreadLocalRandom.current().nextInt(servers.size());return servers.get(index);}@Overridepublic void initWithNiwsConfig(IClientConfig iClientConfig) {}}

(3)主启动类添加注解

/*** @Author : 一叶浮萍归大海* @Date: 2024/1/3 8:39* @Description:*/
@RibbonClients(value = {@RibbonClient(name = "stock-service-nacos",configuration = MyRibbonConfig.class)
})
@SpringBootApplication
public class OrderServiceRibbon8001MainApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceRibbon8001MainApplication.class, args);}}

1.9、参考

(1)Ribbon负载均衡(二)Ribbon负载均衡策略_ribbon irule接口没有了-CSDN博客

(2)spring cloud 2020.0.1 LoadBalancer负载均衡算法切换-CSDN博客

http://www.tj-hxxt.cn/news/677.html

相关文章:

  • zblog做企业网站好吗市场调研报告范文3000字
  • 做网站的是外包公司吗企业网站建设规划
  • 湖南做网站kaodezhu做一个个人网站
  • 汕头市小程序定制公司沈阳关键字优化公司
  • 网站被黑咋样的河南优化网站
  • jsp语言做网站自媒体培训
  • 外贸专业网站的公司网推项目平台
  • 网站建设方为客户提供使用说明书软文广告示范
  • 佛山网站建设公司怎么样品牌营销策略包括哪些内容
  • 网站建设网站开发武汉网站快速排名提升
  • 莱芜在线论坛话题牛泉镇网站优化seo是什么意思
  • 2017政府网站建设标准百度seo排名优化助手
  • 网站seo哪家公司好全国人大常委会委员长
  • 网站站群7月新闻大事件30条
  • 网站克隆 有后台登录bt蚂蚁磁力
  • 网站前瞻性_新流量机会内容建设分析bt磁力搜索
  • 网站优化文档专业网站建设
  • 网站怎么做能快速有排名365优化大师软件下载
  • 北京网站建设站建设百度搜索排行
  • 辽宁省住房建设厅网站网站seo检测
  • 凡客诚品官方网站查询小红书搜索关键词排名
  • 知名门户网站淘宝关键词指数
  • 郴州市住房和城乡建设厅网站请输入搜索关键词
  • 网站建设误区微信搜索seo优化
  • 上饶专业做网站建设网页开发用什么软件
  • 哪个公司建网站关键词查询神器
  • 怎么用手机做抖音上最火的表白网站百度竞价排名规则及费用
  • 文山建设5G网站seo课程哪个好
  • 厦门哪家公司做网站新闻头条今天最新消息
  • 有关做美食的网站有哪些软文写作技巧及范文