SpringCloud(入门二)

五、服务的消费 - Ribbon + RestTemplate

 

    ribbon调用服务的步骤:

 

    1、添加依赖:

        

 

    2、启动类添加注解,开启Eureka客户端:

        

 

    3、配置application.yml

        

 

    4、注册RestTemplate模板对象

        

 

    5、编写Controller,调用微服务

        

 

    注意:ribbon是一个客户端的负载均衡器,和传统的负载均衡服务器Nginx有什么不同?

 

        ribbon是客户端负载均衡

        

 

        nginx是服务端负载均衡

        

 

 

        硬件负载均衡 - F5

 

    修改负载均衡的策略:

        

 

 

六、服务的消费 - Feign

 

    什么是Feign?

        Feign底层就是ribbon,但是Feign的写法更加面向对象一些。

 

    整合Feign的步骤:

    

        1、添加依赖

            

 

        2、启动类注解(Feign是有启动类注解)

            

 

        3、配置application.yml

            

 

        4、编写controller,消费者的入口

            

 

        5、编写一个接口层,调用微服务

            

 

七、断路器-Hystrix

 

    什么是Hystrix?

        简单来说,Hystrix就是微服务之间的保险丝。

 

    为什么需要Hystrix?

        在实际开发过程中,微服务和微服务之间通常来说会互相调用,但是假如有一个微服务因为某些原因崩溃,这个时候可以会造成崩溃传递,一旦崩溃开始传递,就形成了服务雪崩的问题。

 

    Hystrix是如何进行服务资源保护的?

        Hystrix的核心在于进行资源隔离,简单来说就是不要让服务器的所有线程资源都去做同一件事件。

 

        隔离:不要将所有的线程资源用来做同一件事。

            - 线程池隔离(默认)

            - 信号量隔离

    

        降级:当A服务调用B服务时,如果B服务的资源被耗光,则A服务后续的资源会立刻终止调用,保护资源的可用性。然后这些被终止的线程资源,可以调用一个降级方法,降级方法会返回一个合理的默认值,从而运行业务继续往后运行。

 

        熔断:熔断机制是指,当A服务调用B服务,如果大量的线程出现问题(阻塞、报错、超时等等),Hystrix的熔断器就会打开。熔断器开打后,后续所有请求B服务的线程,全部直接调用降级方法。当隔了一段时间后,Hystrix会自动进入半开状态,半开状态打开后,请求B服务的线程就能够再次尝试请求B服务,这个时候如果B服务正常,则熔断器自动关闭,如果还是不正常,熔断器又会回到全开的状态。

 

    Ribbon如何使用Hystrix?

 

        1、添加依赖:

            

 

        2、启动依赖

            

 

        3、改造服务的调用方法

            

 

        4、配置熔断器的设置

            

 

 

    Feign如何整合Hystrix?

    

        1、因为feign已经默认整合了Hystrix所以无需再进行依赖

 

        2、配置application.yml

            

 

        3、实现远程调用的接口,并且重新方法就是该远程方法降级方法(fallback方法)

            

            

 

 

    配置Hystrix的仪表盘的功能:

 

        什么是Hystrix的仪表盘?

        Hystrix是用来隔离服务和服务之间的资源的,除了提供隔离资源功能之外,还提供了服务的监控功能,在Hystrix的仪表盘中,可以直观的观察到某个微服务的请求量的情况,从而知道当前哪些微服务是正常对外提供服务的。

 

        1、创建一个仪表盘的工程

            添加依赖:

            

 

            启动类上添加注解:

            

 

            启动仪表盘的工程:

            

 

        2、配置需要监控的微服务

 

            在需要监控的微服务中,配置这个Servlet

            

 

        3、将需要监控的微服务的Servlet地址,注册到仪表盘的工程

                 

 

            实心圆:它有颜色和大小之分,分别代表实例的健康程度和流量大小。它的健康度从绿色、黄色、橙色、红色递减。通                            过该实心圆的展示,我们就可以在大量的实例中快速的发现故障实例和高压力实例。

 

            曲线:用来记录 2 分钟内流量的相对变化,我们可以通过它来观察到流量的上升和下降趋势。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值