随笔分类 - Spring Cloud
这里面会将以springcloud为主,然后会讲下用阿里的组件怎么替换springcloud一些组件
摘要:https://docs.spring.io/spring-cloud-sleuth/docs/2.2.5.RELEASE/reference/html/ 一、Sleuth介绍 为什么要使用微服务跟踪?它解决了什么问题? 1.微服务的现状? 微服务的现状 随着业务的发展,单体架构变为微服务架构,并且
阅读全文
摘要:一、概述 在微服务架构中,每个服务都是一个可以独立开发和运行的组件,而一个完整的微服务架构由一系列独立运行的微服务组成。其中每个服务都只会完成特定领域的功能,比如订单服务提供与订单业务场景有关的功能、商品服务提供商品展示功能等。各个微服务之间通过轻量级通信机制 REST API 或者 RPC 完成通
阅读全文
摘要:一、Hystrix处理流程 Hystrix流程图如下: Hystrix整个工作流如下: 构造一个 HystrixCommand或HystrixObservableCommand对象,用于封装请求,并在构造方法配置请求被执行需要的参数; 执行命令,Hystrix提供了4种执行命令的方法,后面详述; 判
阅读全文
摘要:一、背景 分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图,对于同步调用,当库存服务不可用时,商品服务请求线程被阻塞,当有大批量请求调用库存服务时,最终可能导致整个商品服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应
阅读全文
摘要:上篇中说到通过@Value注解获取配置中心的内容进行注入,要想了解这个就要知道spring Environment原理,关于这原理我看了下网上分析的文章:https://blog.csdn.net/topdeveloperr/article/details/88063828 一、Environmen
阅读全文
摘要:一、SpringCloud Config 配置中心 1.1、配置中心说明 SpringCloud Config 服务器以下简称"配置中心"。 Spring Cloud Config 为分布式系统中的外部配置提供服务器和客户端支持。通过 Config Server (配置中心)可以管理 Config
阅读全文
摘要:一、Eureka的一些概念 在Eureka的服务治理中,会涉及到下面一些概念:服务注册:Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址、端口、运行状况指标的url、主页地址等信息。Eureka Server接收到注册请
阅读全文
摘要:在之前的例子中我们是通过listOfServers来维护一个服务列表的,但是这样的方式是有问题的,当我们的服务节点很多时这个listOfServers列表就会很长,还有另外一个如果服务节点发生上下线时,客户端是没办法感知的,这样会导致请求可能会发到失败的节点上,而且当节点IP要发生变化时,这个列表也
阅读全文
摘要:通过上篇我们了解OpenFeign他也可以完成远程通信,但是它并不是真正义意上的RPC通信,因为他是通过封装代理来实现的,下面和以前一样,知道了怎么用就来看下他是怎么实现的。 一、思考Feign要做的事情 有了ribbon的铺垫现在看OpenFeign应该很清楚的知道,这玩意就是通过注解拿到服务名,
阅读全文
摘要:一、OpenFeign 1.1、OpenFeign 啥玩意 官网:Feign 是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需 创建一个接口并在接口上添加注解 即可 1.2、OpenFeign 能干嘛 这图不难理解:客服端调用服务端有两种方式 ribbon + restTem
阅读全文
摘要:一、Ribbon算法的介绍 Ribbon的源码地址:https://github.com/Netflix/ribbon IRule:根据特定算法中从服务器列表中选取一个要访问的服务,Ribbon默认的算法为ZoneAvoidanceRule; Ribbon中的7中负载均衡算法: (1)RoundRo
阅读全文
摘要:接着前面的说,前两篇中分析了解析和动态服务列表的获取,这两步完成后那接下来要做的事就是重组解析后的URL路径和发起通信了,这一步完成应该是在前面分析的RibbonLoadBalancerClient.execute方法中接着往下走 从Debugger中可以看到这个request返回的是LoadBal
阅读全文
摘要:前面讲到RestTemplate的应用也分析了他的实现,接着通过RestTemplate引出了负载均衡,上个篇幅分析了拦截器、负载均衡器的获取及解析,下面我们接着上次内容讲解。 首先看源码一定要学会找入口 点击getForObject 点击doExecute后到达下图所示位置 @Nullable p
阅读全文
摘要:一、RestTemplate 1.1简介 spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTempl
阅读全文