• <legend id='e9o1zfy9'><style id='x1rfhu2i'><dir id='wi49o69w'><q id='ve7x89ur'></q></dir></style></legend>
      <bdo id='y3rup21p'></bdo><ul id='o129vxoi'></ul>

    <i id='85j6cud4'><tr id='rqbby1qo'><dt id='s74kajs3'><q id='s1h798qn'><span id='qsb5n27h'><b id='su43ni0e'><form id='q1gvx2p4'><ins id='8u0r3iep'></ins><ul id='1392j11p'></ul><sub id='p4p6zrkw'></sub></form><legend id='mc3er5ll'></legend><bdo id='6qmg3di6'><pre id='g4htgxnb'><center id='gtd1dnpk'></center></pre></bdo></b><th id='hewt7l5n'></th></span></q></dt></tr></i><div id='hpz6j38w'><tfoot id='7ck8c7qe'></tfoot><dl id='ltdy09el'><fieldset id='9cq4ezp5'></fieldset></dl></div>
  • <tfoot id='fp13yhkx'></tfoot>

        <small id='rc54vq78'></small><noframes id='lvk63afk'>

      1. 服务列表

        气,其气浩然 —— 年轻的,富有激情的

        SpringCloud微服务架构篇4:深入了解Ribbon与Feign

        日期:2022-01-01 / 人气:117 / 标签:服务列表(44)

          负载均衡策略:能够决定如何在多个服务实例中选择一个有效的服务实例,并进行相应的服务请求处理。

          服务器列表就是客户端负载均衡所使用的各服务的服务实例列表。Ribbon在实现上支持3中服务列表方式

          该组件会对原始服务列表使用一定策略进行过滤,并返回有效的服务器列表给客户端负载均衡器使用。

          用来检测一个微服务实例是否有相应。Ribbon通过该组件来判断所持有的服务实例列表中各服务可用情况,如果检测到某服务实例不存在,则会从列表中及时移除。

          负责选择一个最终服务实例地址作为负载均衡处理结果。Ribbon提供的选择策略有轮询、根据相应时间加权、断路器(当Hystrix可用时)等。

          ILoadBalancer通过配置IRule、IPing等信息,并通过ServerList获取服务器注册列表的信息,默认以每10s的频率想服务列表中每个服务实例发送ping请求,检测服务实例是否存活,最后使用负责均衡策略对ServerListFilter过滤得到最终可用的服务实例列表进行处理,并获取到最终要调用的服务实例,然后交给服务调用器进行调用。

          2、Ribbon负载均衡策略及配置RoundRobinRule:轮询策略,默认策略RandomRule:随机策略BestAvailableRule:最大可用策略,即先过滤出故障服务实例后,选择一个当前并发请求数最小的。WeightedResponseTimeRule:带有加权的轮询策略,对各个服务实例响应时间进行加权处理,然后再采用轮询的方式获取相应的服务实例。AvailabilityFilteringRule:可用过滤策略,先过滤出有故障的或并发请求大于阈值的一部分服务实例,然后再以线性轮询的方式从过滤后的实例清单中选择一个。ZoneAvoidanceRule:区域感知策略,先使用主过滤条件(区域负载器,选择最优区域)对所有实例过滤并返回过滤后的实例,依次使用次过滤条件列表中的过滤条件对主过滤条件的结果进行过滤,判断最小过滤数和最小过滤百分比,最后对满足条件的服务实例使用轮询方式。配置文件配置方式

          虽然Fegin中是可以与正常的Service继承的。但在使用微服务架构开发时有一个原则,就是保持各微服务的自治性。如果进行继承点的话,就会造成服务提供方与服务消费方之间的代码紧耦合。因此不建议Fegin调用接口与业务Service继承相同的Service。

          如果项目中使用了Swagger,需要把Swgger升级到2.6.1版本以上。否则会发生冲突,项目无法启动。

          Spring Actuator提供了对应用系统自身和监控的继承功能,包含了对应用系统进行配置查看、运行状态监控及相关功能统计等功能。这些监控统计数据通过REST端点方式暴露,并返回JSON数据。

          当项目中添加spring-boot-starter-actuator依赖后,Spring Boot在启动系统后就会构建一系列的端点,通过这些端点就可以获取到服务的运行状态。

          /autoconfig:用来获取Spring Boot自动化配置机制所产生的自动化配置信息报告,包含了自动化配置的候选项及每个候选项自动化条件是否满足等信息。/beans:列出所有由Spring Boot创建Bean的配置列表/configprops:用来获取应用中配置的属性信息报告/env:用来获取应用所有可用的环境属性报告,包含环境变量、JVM属性、应用的属性、命令行的参数等。/health:用来报告当前应用的健康状态报告信息,如应用是否启动、磁盘空间。/metrics:用来报告当前应用及宿主主机的各类重要度量指标,如CPU数量、内存信息、线程信息和垃圾回收信息等。/mappings:返回所有控制器映射关系报告。/info:用来返回应用自定义属性配置信息。/shutdown:可以关闭应用。

          为什么actuator只看到了health和info呢?原因是actuator默认情况下只暴露了health和info端点,其他端点需要进行配置。

          <tbody id='ulto5lzf'></tbody>
            <bdo id='zb88xt9g'></bdo><ul id='tpp2hsyf'></ul>

                  <legend id='3y20k1jr'><style id='t0tyncey'><dir id='90k6ipqn'><q id='enea0h3u'></q></dir></style></legend>

                  <small id='2snw2j5j'></small><noframes id='j6u9iz3u'>

                  <i id='ut50dg4r'><tr id='njj5u31o'><dt id='1pcaww1j'><q id='y7yg25dr'><span id='wfbx4q22'><b id='3hxq9261'><form id='xilwpxz3'><ins id='3i5zk1gf'></ins><ul id='pjf7yt3s'></ul><sub id='d3si9qqb'></sub></form><legend id='zhk6yidw'></legend><bdo id='84hasygi'><pre id='kurffrus'><center id='gbjfuxnf'></center></pre></bdo></b><th id='j9we4ype'></th></span></q></dt></tr></i><div id='yg822mzv'><tfoot id='gehxncl3'></tfoot><dl id='mj560nvn'><fieldset id='4wospay3'></fieldset></dl></div>
                  <tfoot id='qes6benu'></tfoot>
                • 作者:admin

                  
                  1. <small id='b71xman6'></small><noframes id='r4db2h9f'>

                    1. <tfoot id='qy1nrsbz'></tfoot>

                      <i id='n1p90q4s'><tr id='uum5xugt'><dt id='j3al0iex'><q id='d19g781j'><span id='sis4x4e6'><b id='77pzeagj'><form id='yatnajna'><ins id='yfgh5dqw'></ins><ul id='22xjpgbv'></ul><sub id='p2h7eyap'></sub></form><legend id='4z497qvs'></legend><bdo id='9mxyx8g4'><pre id='hprtpn19'><center id='lda28thx'></center></pre></bdo></b><th id='mccjsvcb'></th></span></q></dt></tr></i><div id='1yl6ctrz'><tfoot id='rqtx6s7w'></tfoot><dl id='6kb0s4wt'><fieldset id='ax3ayjha'></fieldset></dl></div>
                      <legend id='zwwrsjcv'><style id='5hbweego'><dir id='1317qwxq'><q id='vt2s3yq1'></q></dir></style></legend>
                        <bdo id='erhx66ik'></bdo><ul id='a03incc5'></ul>