spring cloud
文章平均质量分 84
小兔爷
记录一点自己的经历和过程
展开
-
使用Seata实现分布式事物带来的分支事务回滚异常问题
1.场景说明使用Seata管理2个微服务的数据库添加操作,webSocketFeignService为另外个服务的feign调用 @Autowired private WebSocketFeignService webSocketFeignService; @Transactional @GlobalTransactional @Override...原创 2020-03-23 00:59:58 · 12885 阅读 · 8 评论 -
spring security oauth2 授权服务器负载均衡解决方案
1.引言本文所讲的内容是以spring security oauth2 与 spring cloud 为基础的,在微服务的构建中,将授权服务器注册在eureka上面。当客户端访问资源服务器的时候必须携带token进行认证和授权。如果我们在资源服务器上直接硬编码授权服务器地址,那么我们是不能够搭载高负载的授权服务器的,所以我们需要一个可以负载均衡的RestTemplate进行负载调用授权服务器。...原创 2018-10-19 20:06:44 · 4454 阅读 · 4 评论 -
微服务架构spring cloud - Gateway路由熔断(十四)
本文主要介绍 Spring Cloud Gateway 的路由熔断、路由重试和高可用。路由熔断在前面学习 Hystrix 的时候,我们知道 Hystrix 有服务降级的能力,即如果服务调用出现了异常,则执行指定的 fallback 方法。Spring Cloud Gateway 也融合了 Hystrix,可以为我们提供路由层面服务降级。我们就来看看如何来做。在之前 gateway ...转载 2018-09-11 10:13:11 · 9267 阅读 · 0 评论 -
微服务架构spring cloud - Gateway限流(十三)
绝境长城(冰与火之歌)在高并发的应用中,限流是一个绕不开的话题。限流可以保障我们的 API 服务对所有用户的可用性,也可以防止网络攻击。一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如 nginx 的 limit_conn 模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如 Guava 的 RateLimiter、nginx 的...转载 2018-09-11 10:06:28 · 13654 阅读 · 2 评论 -
微服务架构spring cloud - Gateway过滤器(十二)
在上一篇文章中,我们了解了 Spring Cloud Gateway 作为网关所具备的基础功能:路由。本篇我们将关注它的另一个功能:过滤器。Spring Cloud Gateway 已经内置了很多实用的过滤器,但并不能完全满足我们的需求。本文我们就来实现自定义过滤器。虽然现在 Spring Cloud Gateway 的文档还不完善,但是我们依旧可以照猫画虎来定制自己的过滤器。Fi...转载 2018-09-11 10:05:42 · 8429 阅读 · 3 评论 -
微服务架构spring cloud - Gateway(十一)
本篇文章主要介绍了什么是 Spring Cloud Gateway,并基于 Spring Cloud Gateway 的 Finchley.RC1 版本编写一个 Spring Cloud Gateway 的入门案例,即基本代理的路由转发配置。 概述Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spri...转载 2018-09-11 10:03:14 · 3035 阅读 · 1 评论 -
微服务架构spring cloud - hystrix与feign配置问题(误解)
1.原因在学习spring cloud 的时候由于是对着书本学习,一些东西不能比较深刻的体会到,经过多方摸索后对配置有了一定的答案2.问题在配置hystrix的属性的时候,由于hystrix的属性不是拥有特定的头部属性,所以在idea上面是会报黄的,原因是相应的底层代码是扫描以hystrix开头的配置或者是ribbon开头的配置。由下面底层代码的注释也可以看到有注释说只要有ribbon...原创 2018-09-02 21:09:33 · 413 阅读 · 0 评论 -
微服务架构spring cloud - 分布式服务跟踪Sleuth(十)
1.什么是sprng cloud sleuth目的是对一个请求所经过的整个服务链的跟踪,帮助我们快速发现错误根源以及监控分析每条请求链路上的性能瓶颈。2.快速入门首先前提是启动服务消费者和服务提供者并且分别服务注册中心注册在消费者和提供者的依赖中添加sleuth依赖 <dependency> <groupId>or...原创 2018-08-21 22:49:58 · 820 阅读 · 0 评论 -
微服务架构spring cloud - 消息驱动的微服务Stream(九)
1.什么是spring cloud stream这是一个用来为微服务应用构建消息驱动能力的框架,本质上就是整合了spring boot和spring Integration ,而spring integration的功能就是解决不同系统之间交互的问题。通过异步消息消息驱动来达到系统交互时系统之间的松耦合。2.快速入门首先配置依赖 <dependency>...原创 2018-08-20 12:00:03 · 1872 阅读 · 0 评论 -
微服务架构spring cloud - 消息总线Bus(八)
1.什么是消息总线由于配置信息的变更或者其他的一些管理操作,所以需要消息总线。消息总线的意思是使用轻量级的消息代理来构建一个共用的的消息主题让系统中所有的微服务实例都连接上来,该主题中产生的消息会被所有实例监听和消费。2.消息代理消息代理是一种消息验证、传输、路由的架构模式。它是一个中间件产品,它的核心是一个消息的路由程序,用来实现接受和分发消息,并根据设定好的消息处理流来转发给正确的...原创 2018-08-15 22:02:49 · 1403 阅读 · 0 评论 -
微服务架构spring cloud - 服务容错保护 Hystrix(四)
1.什么是服务容错保护基于Netfix的开源框架Hystrix实现的,该框架的目标在于通过控制那些远程访问系统、服务、和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备服务降级,服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能2.项目实战打上注解的时候可以用@springCloudApplication注解,,可以看出一般spring clou...原创 2018-08-06 18:33:11 · 584 阅读 · 0 评论 -
微服务架构spring cloud - 分布式配置中心config(七)
1.什么是spring-cloud-config用来为分布式系统中的基础设施和微服务应用提供集体化的外部配置支持,它分为服务端和客户端。服务端也就是config服务,客户端就是其他的微服务。spring-cloud-config默认使用Git存储配置信息2.配置服务端首先配置依赖 <dependency> <groupI...原创 2018-08-12 15:42:29 · 427 阅读 · 0 评论 -
微服务架构spring cloud - API网关服务Zuul(六)
1.什么是Zuul简单来说是为了通过它来进行服务调用,一切资源的请求都需要它进行请求转发。需要Zuul主要有两个原因Nginx、F5、等因为需要手工维护路由规则,微服务过多会带来麻烦 需要权限校验机制2.快速入门添加依赖 <dependency> <groupId>org.springframework.cloud<...原创 2018-08-09 23:53:33 · 688 阅读 · 0 评论 -
微服务架构spring cloud - 声明式服务调用 Feign(五)
1.什么是Feign 总的来说就是ribbion和hystrix的结合体,由于使用restTemplate的麻烦和重复性,所以有了这一个组件包装了ribbion和hystrix,不过需要注意的是底层还是使用ribbion和hystrix,只是使用注解的方式优雅的实现了这个负载均衡和断路器。2.快速人们1.配置依赖<dependency> <...原创 2018-08-07 12:05:45 · 402 阅读 · 0 评论 -
微服务架构spring cloud - 基础知识 (一)
1.什么是微服务架构由系统中某一项高度耦合的业务功能做组成,每个服务维护自身的数据存储、业务开发、自动化测试部署、独立部署机制2.与单体系统的区别一个系统如果采用单体系统,那么随着时间的推移业务的增加,系统必定越来越臃肿。从软件工程生命周期来看,生命逐渐下滑。为了挽救这种局面,采用微服务架构3.如何实施微服务(1)由于微服务不断增多,如何进行运维是一个问题(2)接口需要一...原创 2018-07-28 13:20:21 · 241 阅读 · 0 评论 -
微服务架构spring cloud - 客户端负载均衡 Ribbon(三)
1.什么是RibbionRibbion基于Http和TCP的客户端负载均衡,也是基于Netfix ribbion封装而来。微服务间的调用、API网关的请求转发等时实际上都是通过RIbbion来实现的。还有Feign也是基于Ribbion实现的工具,ribbion是一个工具类框架。2.客户端负载均衡和服务端负载均衡的区别最大的区别就是服务清单的存储位置。客户端负载均衡是自己维护一份服务清...原创 2018-07-31 11:42:19 · 958 阅读 · 0 评论 -
微服务架构spring cloud - 服务治理 Eureka(二)
1.什么是服务治理实现各个微服务实例的自动化注册与发现,如果没有服务治理那么只能静态配置服务地址,麻烦且容易出错,不易维护。2.服务治理的两大核心服务注册例子:用户注册会员,会员注册中心就有了这个用户的详细信息也就是我们通常所说的注册中心,每个微服务会将自己的信息(主机与端口号、版本号、通信协议等等)登记到注册中心例如192.168.88.8:8000和192.168.88.8...原创 2018-07-29 23:20:47 · 728 阅读 · 0 评论