
SpringCloud
文章平均质量分 94
严天舒tianshu
Hello world
展开
-
第7章 使用Hystrix实现微服务的容错处理
第七章 使用Hystrix实现微服务的容错处理实现容错的手段如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到提供者响应或超时。在高负载场景下,如果不做任何处理,此类问题可能会导致服务消费者的资源耗尽甚至整个系统的崩溃。雪崩效应我们把“**基础服务故障”**导致“级联故障”的现象称为雪崩效应,雪崩效应描述的是提供者不可用导致消费者不可用,并将不可用逐渐放大的过程。如下:A作为服务提供者(基础服务),B为A的服务消费者,C和D是B的服务消费者。当A不可用引起了B的不原创 2021-01-14 20:45:12 · 320 阅读 · 0 评论 -
第6章 使用Feign实现声明式REST调用
第六章 使用Feign实现声明式REST调用在之前的示例中是使用RestTemplate实现RESTAPI调用的,代码如下。public User findById(Long id) { return this.restTemplate.getForObject("http://microservice-provider-user"/+id,User.class);}上面的方式使用的是拼接字符串的方式构造的URL的,该URL只有一个参数,然而在现实中,URL往往有多个参数,这个时原创 2021-01-14 20:13:49 · 335 阅读 · 0 评论 -
第5章 使用Ribbon实现客户端负载均衡
第五章 使用Ribbon实现客户端负载均衡在实际的生产环境中,各个微服务都会部署多个实例。那么服务消费者要如何将请求分摊到多个服务提供者实例上呢?这就需要使用Ribbon。Ribbon概述Ribbon是Netflix的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务者地址列表后,Ribbon就可以基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法,如:轮询,随机等。我们也可以为其实现自定义的负载均衡算法。当Ribb原创 2021-01-14 19:19:54 · 427 阅读 · 0 评论 -
第4章 微服务注册与发现
第四章 微服务注册与发现服务发现概述服务发现组件是一个非常关键的组件。服务提供者,服务消费者,服务发现组件三者关系如下:各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息。服务消费者可从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口。各个微服务与服务发现组件使用一定机制(如:心跳)通信。服务发现组件若长时间无法与某个微服务实例通信,就会注销该实例。微服务网络地址发生变更(如:实例增减或者IP端口发生变化等)时,会重新注册原创 2021-01-14 18:53:20 · 265 阅读 · 0 评论 -
第3章开始使用Spring Cloud实战微服务
第三章 开始使用Spring Cloud实战微服务服务提供者与服务消费者使用微服务构建的是分布式系统,微服务之间通过网络进行通信。我们使用服务提供者和服务消费者来描述微服务之间的调用关系。名词定义服务提供者服务的被调用方(即:为其他服务提供服务的服务)服务消费者服务的调用方(即:依赖其他服务的服务)在下面的系统中用户向电影微服务发起一个购票的请求。在进行购票的业务操作之前,电影微服务需要调用用户微服务的接口,查询当前用户的余额是多少,是不是符合购票标准等,在这原创 2021-01-14 18:43:28 · 219 阅读 · 0 评论 -
第1章微服务架构概述
第一章 微服务架构概述(了解)单体应用架构存在的问题一个归档包(如war)包含所有功能的应用程序,通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。单体应用比较容易部署,测试,在项目的初期,单体应用可以很好地运行,但是随着需求地增加,代码库在飞速地膨胀,单体架构变得越来越臃肿,可维护性,灵活性逐渐降低,维护成本越来越高。单体应用存在的问题复杂性高:整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐。技术债务:随着时间的推移,需求变更和人员更迭,会逐渐形原创 2021-01-14 18:37:32 · 195 阅读 · 0 评论