
分布式微服务专题
文章平均质量分 89
源码小哥
这个作者很懒,什么都没留下…
展开
-
2PC和3PC原理
文章目录1.分布式事物常见解决方案:2.两阶段提交(2PC)2.1.第一阶段:投票阶段2.2.第二阶段:提交/执行阶段(成功流程)2.3.第二阶段:提交/执行阶段(异常流程)3.三阶段提交(3PC)3.1.CanCommit阶段3.2.PreCommit阶段3.3.DoCommit阶段4.总结1.分布式事物常见解决方案:- 2PC两段提交协议- 3PC三段提交协议(弥补两端提交协议缺点)- TCC或者GTS(阿里)- 消息中间件最终一致性- 使用LCN解决分布式事物,理念“LCN并不生产事务,L原创 2021-03-17 11:24:22 · 460 阅读 · 0 评论 -
Docker部署Nacos
文章目录1.拉取nacos镜像并启动2.启动nacos命令3.修改配置文件4.退出容器5.重启容器6.查看启动日志7.Linux内存不足1.拉取nacos镜像并启动docker pull nacos/nacos-server2.启动nacos命令docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server至此,我们已经可以使用nacos服务,原创 2021-03-10 15:18:06 · 1127 阅读 · 0 评论 -
Ribbon源码追踪
文章目录1.Ribbon是什么?2.源码跟踪2.负载均衡策略2.1 Ribbon核心组件IRule(面试题)2.2.修改访问服务的算法方式1.Ribbon是什么?Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多负载均衡算法,例如轮询、随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。在Spring Cloud中,当R原创 2021-03-09 12:58:03 · 251 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(一)-微服务简介
文章目录1.微服务概述1.1.什么是微服务1.2.微服务优点2.常见微服务框架2.1.阿里巴巴dubbo2.3.SpringCloud2.4.SpringCloud Alibaba3.微服务架构生态体系1.微服务概述1.1.什么是微服务微服务架构(MicroServicesArchitecture)是近几年来软件架构领域出现的高频词汇,它是基于传统的SOA架构演进而来的一种架构模。其提倡将传统的单体架构或分布式架构中的单体应用程序和服务划分成更小粒度的服务,这种服务我们称之为微服(Microservi原创 2021-03-05 13:05:57 · 1034 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十七)-Spring Cloud Alibaba Sentinel之持久化
目录1.引言2.sentinel持久化案例3.总结1.引言Sentinel Dashboard中添加的规则是存储在内存中的,只要服务重启流控规则就丢失了,一旦我们重启应用,sentinel规则将消失,生产环境需要将配置规则进行持久化。下面我们就来看看如何持久化sentinel流控规则。2.sentinel持久化案例我们先来看看没有配置持久化规则的情况:启动【springcloudalibaba-sentinel-service8401】服务,浏览器访问:http://localhost:8401/原创 2021-02-23 13:03:11 · 259 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十六)-Spring Cloud AlibabaSentinel之服务熔断
目录1.前言2.服务提供者搭建3.搭建服务消费者4.Sentinel服务熔断 - 没有配置fallback和blockHandler5.Sentinel服务熔断 - 只配置fallback6.Sentinel服务熔断 - 只配置blockHandler7.Sentinel服务熔断 - 配置fallback和blockHandler8.Sentinel服务熔断 - 配置exceptionsToIgnore9.Sentinel服务熔断OpenFeign10.总结1.前言前面一篇文章我们介绍了如何使用@Se原创 2021-02-23 11:41:45 · 282 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十五)-Spring Cloud AlibabaSentinel之@SentinelResource注解配置详解
目录1.引言2.@SentinelResource案例解析2.1.按资源名称进行限流2.2.按URL限流3.客户自定义限流处理逻辑4.更多注解属性说明5.总结1.引言在前面的章节中,我们已经使用过@SentinelResource注解,本篇文章我们将如何使用@SentinelResource注解灵活的定义控制资源以及如何配置控制策略。在定义了资源点之后,我们就可以通过Dashboard来设置限流和降级策略来对资源点进行保护了。同时,也可以通过@SentinelResource来指定出现限流和降级时候的异原创 2021-02-22 13:02:00 · 274 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十四)-Spring Cloud AlibabaSentinel之热点参数限流
目录1.引言2.热点参数规则3.热点参数限流案例4.热点限流-参数例外项5.总结1.引言何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品ID为参数,统计一段时间内最常购买的商品ID并进行限制用户ID为参数,针对一段时间内频繁访问的用户ID进行限制热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量控制,仅对包含热点参数的资源调用原创 2021-02-20 22:28:26 · 335 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十三)-Spring Cloud Alibaba之Sentinel服务降级
目录1.引言2.熔断策略3.熔断降级策略之RT4.熔断降级策略之异常比例5.熔断降级策略之异常数1.引言除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线原创 2021-02-20 17:02:26 · 242 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十二)-Spring Cloud Alibaba之Sentinel流控规则
目录1.引言2.相关术语3.Sentinel流控模式 - QPS直接失败4.Sentinel流控模式 - 线程数直接失败5.Sentinel流控模式 - 关联6.Sentinel流控模式 - 链路7.Sentinel流控效果 - 快速失败8.Sentinel流控效果 - 预热(Warm Up)9.entinel流控效果 - 排队等待1.引言我们成功搭建了sentinel流量监控平台,并且实现了对我们微服务应用的监控功能,但是sentinel提供的功能不仅仅只有这些,还有强大的流量控制功能。2.相关术语原创 2021-02-20 16:11:07 · 365 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十一)-Spring Cloud Alibaba之Sentinel基础入门
目录1.Sentinel简介2.Sentinel特征3.Hystrix VS Sentinel4.Sentinel下载安装运行5.Sentinel初始化监控6.小结1.Sentinel简介Sentinel 是面向云原生微服务的高可用流控防护组件。随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。简单来说,就是之前学习过的 Hystrix的升级版。官方给出的定义: Sentinel是分布式系统的流量原创 2021-02-20 14:25:15 · 340 阅读 · 1 评论 -
《SpringCloud Alibaba 微服务架构》专题(十)-Spring Cloud Alibaba之Feign调用Ribbon+Hystrix请求超时
目录1.什么是Feign超时2.Ribbon超时3.Hystrix超时4.在Feign中禁用Hystrix5.同时设置Ribbon超时和Hystrix超时7.Ribbon超时值和Hystrix超时值如何设定?7.1.Feign超时结论7.2.ribbon的重试机制1.什么是Feign超时1.使用Feign调用接口分为两层,Ribbon的调用和Hystrix的调用,所以Ribbon的超时时间和Hystrix的超时时间的结合就是Feign的超时时间。2.一般情况下 都是 Ribbon 的超时时间(<原创 2021-02-20 11:14:59 · 537 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(九)-Spring Cloud Alibaba之Linux环境安装Nacos并持久化到Mysql
目录1.前言2.Linux下Nacos安装2.1.下载Linux环境安装包2.2.Linux环境更改为单机启动2.3.Linux环境更改JDK环境3.配置nacos持久化4.Linux/Unix/Mac启动命令1.前言nacos在Windows环境和Linux环境安装启动稍有不同,默认情况下,nacos在Windows环境下是以单机模式启动运行,在Linux环境下是以集群模式启动运行的,因为nacos设计的初衷就是为了高可用的配置中心和注册中心而设计的,而大部分情况下生产环境的应用多基于Linux系统下原创 2021-02-19 23:52:31 · 251 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(八)-Spring Cloud Alibaba之Nacos高可用集群环境搭建
目录1.前言2.Eureka与Nacos集群区别3.案例4.Nacos集群部署搭建4.1.修改cluster.conf名称4.2.编辑集群节点配置5.修改本地Hosts文件6.配置Nginx7.集群模式启动nacos8.小结1.前言在前面学习在基于SpringCloud构建的微服务项目中,Eureka担任注册中心,实现服务的注册与发现,这样的组合在第一代SpringCloud微服务中使用还是很多的,后来国内某Bat公司基于SpringCloud的拓展,延伸了自身的一些微服务组件,由此兴起了第二代微服务S原创 2021-02-19 15:01:16 · 376 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(七)-Spring Cloud Alibaba将Nacos数据持久化到MySQL
目录1.前言2.Nacos支持三种部署模式3.单机模式下运行Nacos2.1.Linux/Unix/Mac 环境2.2.Windows 环境2.3.单机模式支持mysql4.配置nacos持久化4.1.修改nacos配置文件4.2.创建数据库5.启动nacos-server和项目5.1.创建nacos-config-dev.yaml6.查看数据库数据如下7.总结1.前言我们了解了使用Nacos实现配置中心默认存储方式以及数据存储在哪里,通过查阅资料了解到,Nacoe配置中心和注册中心的数据默认是存储在D原创 2021-02-19 13:02:44 · 296 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(六)-Spring Cloud Alibaba基于Nacos分布式配置中心存储原理
目录1.前言2.nacos默认存储存储方式2.1.了解nacos默认储存2.2.单机模式支持mysql3.nacos默认的存储方式3.1.默认存在Derby内嵌数据库中3.2.使用IDEA连接Derby查看数据1.前言在上一篇文章,我们实现了基于nacos做分布式配置中心,实施的存储、更新我们的配置文件数据,在使用以往的一些配置中心时,服务重启或者注册中心重启后,配置文件数据将会丢失,这种情况是因为将数据储存在JVM的内存当中,当JVM不再提供运行时,数据也会相应的丢失,一些开源框架默认将数据存储在JV原创 2021-02-19 12:25:24 · 295 阅读 · 1 评论 -
《SpringCloud Alibaba 微服务架构》专题(五)-Spring Cloud Alibaba基于Nacos构建分布式配置中心
目录1.什么是Nacos2.依赖管理3.nacos-client搭建3.1.新建SpringBoot项目3.2.配置连接nacos-server4.读取nacos-server上数据4.1.动态刷新方式一:4.2.动态刷新方式二:5.启动类6.测试7.Nacos配置中心原理总结7.1.Md5何时变更7.2.总结7.3.参考文档1.什么是Nacos以下部分解释摘自于Nacos官方文档:Nacos 致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配原创 2021-02-19 11:12:35 · 473 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(四)-Spring Cloud Alibaba服务调用服务调用之OpenFeign方式
目录1.前言2.初探Feign3.商品(Product)工程4.订单(Order)工程5.测试1.前言Feign是一个声明式的web service客户端,它使得编写web service客户端更为容易。创建接口,为接口添加注解,即可使用Feign。Feign可以使用Feign注解或者JAX-RS注解,还支持热插拔的编码器和解码器。Spring Cloud为Feign添加了Spring MVC的注解支持,并整合了Ribbon和Eureka来为使用Feign时提供负载均衡。使用@EnableFeignC原创 2021-02-18 15:42:37 · 282 阅读 · 0 评论 -
使用Undertow来替代Tomcat作为Web容器
目录1.概述2.特点3.Spring Boot项目中的引入方式4.小结1.概述Undertow 是红帽公司开发的一款基于 NIO 的高性能Web嵌入式服务器2.特点轻量级:它是一个 Web 服务器,但不像传统的 Web 服务器有容器概念,它由两个核心 Jar 包组成,加载一个 Web 应用可以小于 10MB 内存Servlet3.1 支持:它提供了对 Servlet3.1 的支持WebSocket 支持:对 Web Socket 完全支持,用以满足 Web 应用巨大数量的客户端嵌套性:它不需要原创 2021-02-18 14:05:04 · 838 阅读 · 1 评论 -
《SpringCloud Alibaba 微服务架构》专题(三)-Spring Cloud Alibaba服务调用之RestTemplate方式
目录1.前言2.Nacos-discovery默认支持Ribbon负载均衡3.环境搭建3.1.Product提供接口3.2.Order消费商品的接口(3种方式)4.基于RestTemplate测试1.前言nacos是第二代微服务SpringCloudAlibaba开源的一款注册中心和分布式配置中心组件,其功能上为第一代微服务SpringCloud中Eureka和Config的结合体。简而言之,Nacos可以实现分布式服务注册与发现和分布式配置中心功能。Nacos官方文档: https://nacos.原创 2021-02-18 13:56:51 · 338 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(二)-Spring Cloud Alibaba Nacos之服务注册中心入门
1.Nacos简介1.1.为什么叫Nacos?前四个字母分别为Naming和Configuration的前两个字母,最后的s为service。1.2.Nacos是什么?nacos是第二代微服务SpringCloudAlibaba开源的一款注册中心和分布式配置中心组件,其功能上为第一代微服务SpringCloud中Eureka和Config的结合体。简而言之,Nacos可以实现分布式服务注册与发现和分布式配置中心功能。Nacos官方文档: https://nacos.io/zh-cn/docs/wh原创 2021-02-09 19:23:04 · 418 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(一)-Spring Cloud Alibaba初识
目录1.Spring Cloud Alibaba简介1.1.先说说 Spring Cloud1.2.Spring Cloud Alibaba2.主要功能3.主要组件4.如何构建5.如何使用6.版本管理规范7.参考文档8.小结1.Spring Cloud Alibaba简介Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。马老师左手双十一,右手阿里开源组件,不仅占据了程序员的购物车,还要攻占大家的开发工具。原创 2021-02-09 13:13:06 · 432 阅读 · 1 评论 -
《SpringCloud Alibaba 微服务架构》专题(二十四)-seata分布式事务分析
1.分布式事务的产生我们先看看百度上对于分布式事务的定义:分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。额~ 有点抽象,简单的画个图好理解一下,拿下单减库存、扣余额来说举例:当系统的体量很小时,单体架构完全可以满足现有业务需求,所有的业务共用一个数据库,整个下单流程或许只用在一个方法里同一个事务下操作数据库即可。此时做到所有操作要么全部提交 或 要么全部回滚很容易。2.分库分表、SOA可随着业务量的不断增长,单体架构渐渐扛不住巨大原创 2020-12-10 13:14:06 · 201 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(十八)-事务回顾
1.什么是事务?事务是逻辑上的一组操作,要么都执行,要么都不执行.2.事务的特性(ACID)原子性:原子最小单位,不能分割,不能单独运行,要么成功要么失败。一致性:例如能量守恒。隔离性:多个并发访问时,一个事物的执行不能受其他事务的干扰。隔离级别解决问题。持久性:事务一旦提交,它对数据库的修改是永久的。3.事务没有隔离级别的问题脏读:事务a读取了事务b未提交(commit)的数据,然后把他进行修改的操作,如果这时候事务b恰巧进行了回滚的操作,那么事务a读取到的就是脏数据,也就是所谓脏读原创 2020-12-08 23:42:33 · 332 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(二十三)-Seat工作原理
1.背景随着业务发展,单体系统逐渐无法满足业务的需求,分布式架构逐渐成为大型互联网平台首选。伴随而来的问题是,本地事务方案已经无法满足,分布式事务相关规范和框架应运而生。在这种情况下,大型厂商根据分布式事务实现规范,实现了不同的分布式框架,以简化业务开发者处理分布式事务相关工作,让开发者专注于核心业务开发。Seata就是这么一个分布式事务处理框架,Seata是由阿里开源,前身为Fescar,经过品牌升级变身Seata。2.分布式事务规范2.1.分布式事务相关概念事务: 一个程序执行单元,是用户定原创 2020-12-08 23:03:07 · 690 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(二十二)-Seat处理分布式问题
1.业务需求随着业务需求的变化,单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。制造一个分布式事务问题这里我们会创建三个服务,一个订单服务,一个库存服务,一个账户服务。当用户下单时,会在订单服务中创建一个订单,然后通过远程调用库存服务来扣减下单商品的库存,再通过远程调用账户服务来扣减用户账户里面的余额,最后在订单服务中修改订单状态为已完成。该操作跨越三原创 2020-12-08 18:11:12 · 496 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(二十一)-Seat简介与安装
Seata是Alibaba开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,本文将通过一个简单的下单业务场景来对其用法进行详细介绍。1.业务场景单体应用单体应用中,一个业务操作需要调用三个模块完成,此时数据的一致性由本地事务来保证。微服务应用随着业务需求的变化,单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用独立的数据源,业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。小结在微原创 2020-12-08 17:49:08 · 917 阅读 · 0 评论 -
《SpringCloud Alibaba 微服务架构》专题(二十)-分布式事务基础理论
通过前面的学习,我们了解到了分布式事务的基础概念。与本地事务不同的是,分布式系统之所以叫分布式,是因 为提供服务的各个节点分布在不同机器上,相互之间通过网络交互。不能因为有一点网络问题就导致整个系统无法 提供服务,网络因素成为了分布式事务的考量标准之一。因此,分布式事务需要更进一步的理论支持,接下来,我 们先来学习一下分布式事务的CAP理论。在讲解分布式事务控制解决方案之前需要先学习一些基础理论,通过理论知识指导我们确定分布式事务控制的目 标,从而帮助我们理解每个解决方案。1.CAP理论1.1.理解C原创 2020-12-08 17:16:58 · 239 阅读 · 0 评论 -
分布式事务专题(一)-分布式事务基础
1. 什么是事务举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。2.本地事务在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据原创 2020-12-08 12:59:39 · 279 阅读 · 0 评论 -
面试专题系列-Hystrix
1.spring cloud 的核心组件有哪些?. 服务发现——Netflix Eureka一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。. 客服端负载均衡——N原创 2020-11-23 11:51:34 · 2914 阅读 · 1 评论 -
《SpringCloud专题19》-服务监控hystrixDashboard
1.概述2.仪表盘9001新建cloud-consumer-hystrix-dashboard9001POM<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:原创 2020-11-22 15:17:17 · 229 阅读 · 0 评论 -
《SpringCloud专题18》-Hystrix服务熔断
1.断路器一句话就是家里的保险丝2.熔断是什么大神论文https://martinfowler.com/bliki/CircuitBreaker.html3.实操修改cloud-provider-hystrix-payment8001PaymentServicepackage com.itxiongmao.service;/** * @BelongsProject: springcloud2020 * @BelongsPackage: com.itxiongmao.service原创 2020-11-22 14:59:30 · 227 阅读 · 1 评论 -
《SpringCloud专题18》-Hystrix服务降级
1.降级配置@HystrixCommand8001先从自身找问题,设置自身调用超时时间的峰值,峰值内可以正常运行, 超过了需要有兜底的方法处理,做服务降级fallback2.8001fallback业务类启用package com.itxiongmao.service.impl;import com.itxiongmao.service.PaymentService;import com.netflix.hystrix.contrib.javanica.annotation.Hystrix原创 2020-11-22 14:24:54 · 170 阅读 · 0 评论 -
《SpringCloud专题17》-Hystrix熔断器案例
1.高并发测试上章在非高并发情形下,还能勉强满足,但是在搞并发的情况下有些问题1.1.Jmeter压测测试开启Jmeter,来20000个并发压死8001,20000个请求都去访问paymentInfo_TimeOut服务再来一个访问http://localhost:8001//payment/hystrix/ok/311.2.看演示结果两个都在转圈圈为什么会被卡死tomcat的默认工作线程数被打满了,没有多余的线程来分解压力和处理1.3.Jmeter压测结论上面还只是服务提供者原创 2020-11-22 13:16:02 · 371 阅读 · 1 评论 -
《SpringCloud专题16》-Hystrix熔断器
1.概述1.1.分布式系统面临的问题复杂分布式体系结构中的应用程序 有数10个依赖关系,每个依赖关系在某些时候将不可避免地失败1.2.是什么1.3.能干嘛服务降级服务熔断接近实时的监控1.4.官网资料https://github.com/Netflix/hystrix/wiki1.5.官宣,停更进维https://github.com/Netflix/hystrix被动修复bugs不再接受合并请求不再发布新版本2.HyStrix重要概念2.1.服务降级服务原创 2020-11-22 12:49:24 · 220 阅读 · 0 评论 -
《SpringCloud专题15》-OpenFeign日志打印功能
1.日志打印功能2.日志级别3.配置日志beanpackage com.itxiongmao.config;import feign.Logger;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class FeignConfig { @Bean Log原创 2020-11-22 12:06:40 · 275 阅读 · 0 评论 -
《SpringCloud专题14》-OpenFeign超时控制
1.超时设置,故意设置超时演示出错情况1.1.服务提供方8001故意写暂停程序 @GetMapping("feign/timeout") public String getFeignTimeOut() { try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { e.printStackTrace(); }原创 2020-11-22 11:58:27 · 255 阅读 · 0 评论 -
《SpringCloud专题13》-OpenFeign服务接口调用
1.概述1.1.OpenFeign是什么官网:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeignFeign是一个声明式的Web服务客户端,让编写Web服务客户端变得非常容易,只需 创建一个接口并在接口上添加注解即可1.2.能干嘛1.3.Feign和OpenFeign两者区别2.OpenFeign使用步骤接口+注解微服务调用接口+@Fe原创 2020-11-22 11:30:39 · 222 阅读 · 0 评论 -
《SpringCloud专题12》-微服务架构编码构建-手写Ribbon负载均衡器
1.前言Ribbon是SpringCloud的负载均衡器,默认的算法是轮询。在这里为了方便负载均衡的原理,可以自己手写一个负载均衡器2.自定义一个本地负载均衡器2.1.ApplicationContextBean去掉注解@LoadBalancedpackage com.itxiongmao.config;/** * @BelongsProject: springcloud2020 * @BelongsPackage: com.itxiongmao.config * @CreateTime:原创 2020-11-21 22:39:32 · 158 阅读 · 0 评论 -
《SpringCloud专题11》-微服务架构编码构建-Ribbon负载均衡调用
1.Ribbon概述1.1.是什么1.2.官网资料https://github.com/Netflix/ribbon/wiki/Getting-StartedRibbon目前也进入维护模式未来替换方案1.3.能干嘛1.3.1.LB(负载均衡)集中式LB进程内LB一句话:负载均衡+RestTemplate调用2.Ribbon负载均衡演示2.1.架构说明总结: Ribbon其实就是一个软负载均衡的客户端组件, 他可以和其他所需请求的客户端结合使用,和eureka结原创 2020-11-21 22:15:50 · 162 阅读 · 0 评论