
Spring Cloud
springcloud为开发人员提供了在分布式系统中快速构建一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。
银河架构师
微信搜索:银河架构师,发现更多精彩内容
展开
-
Spring Cloud进阶之路 | 二十二:资源服务(Spring Cloud Oauth2)JWT实现
在上一篇文章Spring Cloud进阶之路 | 二十一:授权服务(Spring Cloud Oauth2)JWT实现-TokenStore之JwtTokenStore,针对授权服务器Spring Cloud Oauth2,做了JWT改造,即JwtTokenStore。那么,本篇文章,即在此基础上,改造对应的资源服务,对JWT类型token的授权服务器做适应性改造。原创 2020-02-24 09:10:45 · 1243 阅读 · 0 评论 -
Spring Cloud进阶之路 | 二十一:授权服务(Spring Cloud Oauth2)JWT实现-TokenStore之JwtTokenStore
前面的文章中,分别介绍了Spring Cloud进阶之路 | 十八:授权服务(Spring Cloud Oauth2)ClientDetailsService之JdbcClientDetailsService、Spring Cloud进阶之路 | 十九:授权服务(Spring Cloud Oauth2)TokenStore之JdbcTokenStore、Spring Cloud进阶之路 | 二十:授权服务(Spring Cloud Oauth2)TokenStore之RedisTokenStore等实现。然原创 2020-02-24 09:05:51 · 5226 阅读 · 0 评论 -
避坑指南(八):Spring Cloud Oauth2 token_key端点404
授权服务器基于Spring Cloud Oauth2创建后,配置TokenStore为JwtTokenStore,访问/oauth/token_key接口获取公钥,出现404错误。原创 2020-02-24 09:05:26 · 11248 阅读 · 1 评论 -
避坑指南(七):Spring Cloud Oauth2配置JwtTokenStore后不生效,依然生成普通token
Spring Cloud Oauth2配置JwtTokenStore后不生效,依然生成普通token原创 2020-02-20 17:33:52 · 5169 阅读 · 0 评论 -
Spring Cloud进阶之路 | 二十:授权服务(Spring Cloud Oauth2)TokenStore之RedisTokenStore
前言上一篇文章Spring Cloud进阶之路 | 十九:授权服务(Spring Cloud Oauth2)TokenStore之JdbcTokenStore中,介绍了如何配置JdbcTokenStore,将token等信息存储在数据库中。数据库有其限制性,一旦数据量过大,那么新增、更新、查询等操作的速率将会大幅下降,这时,就需要缓存支持,框架为我们提供了Redis存储方式,即Redi...原创 2020-02-19 17:36:15 · 2172 阅读 · 1 评论 -
Spring Cloud进阶之路 | 十九:授权服务(Spring Cloud Oauth2)TokenStore之JdbcTokenStore
前面的文章Spring Cloud进阶之路 | 八:授权服务(Spring Cloud Oauth2)中,介绍了基于Spring Cloud Oauth2框架的微服务授权服务器。客户端申请的授权token,和默认的ClientDetails存储方式一样,均存储在内存中,一旦服务重启,势必会造成所有客户端已申请且未过期的token失效。所以,和ClientDetails一样,也需要对t...原创 2020-02-18 11:11:51 · 3665 阅读 · 1 评论 -
Spring Cloud进阶之路 | 十八:授权服务(Spring Cloud Oauth2)ClientDetailsService之JdbcClientDetailsService
前面的文章Spring Cloud进阶之路 | 八:授权服务(Spring Cloud Oauth2)中,介绍了基于Spring Cloud Oauth2框架的微服务授权服务器。其中,关于认证客户端相关信息均存储在内存中,服务一旦重启,即随即丢失,非常不利于维护。在实际项目中,势必要持久化存储。本文即对认证客户端信息持久化ClientDetailsServic之JdbcClientDetailsService做相关说明原创 2020-02-17 19:56:39 · 5451 阅读 · 1 评论 -
Spring Cloud进阶之路 | 十七:服务网关性能调优(zuul)
前言前面网关的相关文章已经说明了网关的地位,既然网关如此重要,便更要保障网关的稳定、可靠运行。所谓的稳定、可靠无非几个方面,如集群容灾、性能调优、负载均衡等。本文便针对性能调优,调优网关工程的部分参数,优化网关性能表现。准备工作复用上一篇文章Spring Cloud进阶之路 | 十六:服务网关集成断路器监控(zuul + Hystrix Dashboard)中的全部工...原创 2020-02-12 17:29:32 · 1912 阅读 · 0 评论 -
Spring Cloud进阶之路 | 十六:服务网关集成断路器监控(zuul + Hystrix Dashboard)
前言上一篇文章Spring Cloud进阶之路 | 十五:服务网关集成断路器(zuul + hystrix)中,介绍了服务网关如何集成断路器。但是,与之前其它服务集成断路器一样,我们始终无法直观的看到断路器相关信息。因此,需要集成断路器监控组件,来以图形化的方式友好地展示断路器信息。准备工作复用上一篇文章Spring Cloud进阶之路 | 十五:服务网关集成断路器(zuu...原创 2020-02-11 15:54:36 · 855 阅读 · 0 评论 -
Spring Cloud进阶之路 | 十五:服务网关集成断路器(zuul + hystrix)
前言之前已经讲过断路器组件的相关作用及集成方案,具体参见文章Spring Cloud进阶之路 | 六:断路器(hystrix)。那么,作为所有微服务的前置网关服务,承载了路由、身份认证、鉴权、审计、日志收集、统计、流控等重要功能,必须要保证高可靠性和稳定性。同时,为了实现上述的重要功能,也势必会通过远程调用的方式(rest、feign)依赖调用其它服务。如此一来,就必须要集成断路器,...原创 2020-02-08 18:58:11 · 1210 阅读 · 0 评论 -
避坑指南(六):Hystrix超时时间小于ribbon超时时间报错
当系统启动,或者访问zuul的时候,总会报如下错误:The Hystrix timeout of 70000ms for the command xxx is set lower than the combination of the Ribbon read and connect time, 240000ms原创 2020-02-06 18:32:07 · 3990 阅读 · 0 评论 -
Spring Cloud进阶之路 | 十四:服务网关重构(FactoryBean、动态配置、token解析、user传递)
前言前面讲的服务网关Spring Cloud进阶之路 | 七:服务网关(zuul)、Spring Cloud进阶之路 | 十:服务网关整合安全框架(zuul+ Spring Cloud Oauth2),其中的代码比较乱。再者,不能实现相关属性的动态配置,前置身份认证过滤器创建和运行逻辑深度耦合,如后续添加其它内容,必然不易扩展。所以,今天就这些问题,对网关代码进行重构,以实现创...原创 2020-02-06 17:43:17 · 684 阅读 · 0 评论 -
Spring Cloud进阶之路:汇总篇
截止到2020年春节前,总算是把Spring Cloud微服务架构落地应用第一阶段写完了。十几篇文章,查找起来也不太好找,于是,也是时候写一个汇总文章文章了,提供统一入口,方便查找与阅读。在此系列开篇便已提过,当前系列以Spring Boot 2.1.7.RELEASE,Spring Cloud Greenwich.SR2,Spring CloudAlibaba 2.1.0.RELEASE为框架基础,后续均以此为版本参照。也可能在本系列大致完结之后,出以Spring Cloud Finchley、Sp原创 2020-01-20 09:33:37 · 1507 阅读 · 0 评论 -
避坑指南(四):zuul整合断路器监控线程池一直loading
问题zuul整合断路器监控后,监控页面Thread Pools一直loading,控制台也无明显报错。分析zuul默认集成了ribbon和hystrix,虽然hystrix的默认隔离策略为thread,但是在zuul中,hystrix的默认隔离策略为semaphore。hystrix的默认隔离策略为thread。zuul中hystrix的默认隔离策略为semaphor...原创 2020-01-19 15:32:44 · 548 阅读 · 0 评论 -
避坑指南(五):Hystrix断路器监控指标详解
在微服务中,集成hystrix断路器监控很常见,可里面那些指标到底啥意思,可能还真没去细究过。本文将针对这些监控指标,一一说明。断路器监控界面如图:注意,此监控图是基于feign的。另外,基于ribbon 的断路器监控界面如下:两者相差无二,基本相同。不同之处,即在于短路点名称格式。ribbon方式直接为方法名,而feign方式既有服务名,又有参数类型,比较详细。关于指...原创 2020-01-19 15:13:38 · 611 阅读 · 0 评论 -
Spring Cloud进阶之路 | 十二:断路器聚合监控(Turbine)
在上一篇文章Spring Cloud进阶之路 | 十一:断路器监控(Hystrix Dashboard)中,阐述了断路器监控组件的使用,可以有好的展示图形化的界面。但是,微服务下拆分的服务那么多,还都是集群部署,这么多的断路器监控,一个一个查看显然是不可取的。另外,如果这些服务均部署在内网的话,外网想看也看不到。要想解决这个问题,势必要聚合每个服务的Hystrix Dashboard数据,最好也能有好的以图形化界面展示。而断路器聚合监控组件Hystrix Turbine将每个服务的Hystrix原创 2020-01-19 10:35:17 · 396 阅读 · 1 评论 -
Spring Cloud进阶之路 | 十三:服务链路追踪(Spring Cloud Sleuth)
微服务架构同时也是分布式架构,按业务划分服务单元,往往划分很多个小服务单元。由于服务单元数量众多,同时也可能会集群部署,一个请求可能需要调用多个服务,如果链路上任何一个服务出现问题或者网络超时,都会导致整个调用失败。随着业务的不断扩张,服务之间的调用会越来越复杂,而服务调用的复杂度,也决定了问题定位的难度,以至于一旦出现错误,便极难定位。所以,在微服务架构中,必须实现分布式链路追踪,来记录一个请求到底有哪些服务参与,顺序又是怎样,达到每个请求的细节都清晰可见,出了问题,快速定位。原创 2020-01-19 10:35:16 · 973 阅读 · 0 评论 -
Spring Cloud进阶之路 | 十一:断路器监控(Hystrix Dashboard)
在Spring Cloud进阶之路 | 六:断路器(Hystrix)一文中,介绍了服务熔断降级及断路器组件。可是,这些数据终归看不到摸不着,不好监控。所以,需要一个能针对断路器进行监控的组件,即本文要介绍的Hystrix Dashboard断路器监控组件,该组件针对各断路器的数据,提供友好的图形化界面。原创 2020-01-19 10:35:09 · 370 阅读 · 0 评论 -
Spring Cloud进阶之路 | 十:服务网关整合安全框架(zuul+ Spring Cloud Oauth2)
在Spring Cloud进阶之路 | 七:服务网关(zuul)一文中,已详细阐述了网关的作用及重要性,其不仅仅可进行路由转发和请求过滤,还可以进行权限校验、审计、接口监控、限流以及日志收集等逻辑。要完成这些额外逻辑,需集成其它框架,或者开发相应的过滤器,亦或是代码逻辑。本文就以整合安全框架中为例,演示如何在网关进行身份认证。前面说过,微服务架构中,把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,为了保证高可用,每个微服务都可能会部署集群。原创 2020-01-16 14:42:32 · 1283 阅读 · 8 评论 -
Spring Cloud进阶之路 | 九:资源服务(Spring Cloud Oauth2)
如上一篇文章Spring Cloud进阶之路 | 八:授权服务(Spring Cloud Oauth2)中所述,授权服务和资源服务总是同时存在的,本文即针对资源服务器相关配置进行讲解。原创 2020-01-16 14:32:09 · 728 阅读 · 0 评论 -
Spring Cloud进阶之路 | 八:授权服务(Spring Cloud Oauth2)
oauth2简介OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth 2 定义了四种 Grant Type,授权码模式(authorization code)、简化模式(implicit)、密码模式(Password)、客户端模式(client credentials)...原创 2020-01-16 14:21:41 · 2070 阅读 · 3 评论 -
Spring Cloud进阶之路 | 七:服务网关(zuul)
简而言之,Zuul是从设备和网站到应用程序后端的所有请求的大门,旨在实现动态路由,监控,弹性和安全性。Zuul使用了含有不同类型的过滤器,这些过滤器可实现以下功能:身份验证和安全性,识别每个资源的身份验证要求,并拒绝不满足要求的请求。追踪监控,在边界跟踪有意义的数据和统计信息,以便为我们提供准确的生产视图。动态路由,根据需要将请求动态路由到不同的后端群集。压力测试,逐渐增加到群集的流量以评估性能。负荷控制,为每种类型的请求分配容量,并丢弃超出限制的请求。静态响应处理,直接在边界构建原创 2020-01-16 14:15:55 · 805 阅读 · 0 评论 -
避坑指南(二):hystrix.stream端点404问题
转载请注明作者及出处:作者:银河架构师原文链接:https://blog.csdn.net/liuminglei1987/article/details/103891303问题描述在项目中集成断路器监控的时候,访问/actuator/htstrix.stream经常会遇到404问题,如下图所示:此问题根本原因就在于此端点压根就没创建,所以,才会报404错误。分...原创 2020-01-08 14:50:48 · 2207 阅读 · 1 评论 -
Spring Cloud进阶之路 | 六:断路器(hystrix)
微服务架构中,一般把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,为了保证高可用,每个微服务都可能会部署集群。即便如此,也无法保证100%可用。如遇程序问题、网络问题、不可...原创 2020-01-03 08:55:02 · 521 阅读 · 0 评论 -
Spring Cloud进阶之路 | 五:配置中心(nacos)
Nacos Config官网介绍Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。Spring Cloud Alibaba Nacos Conf...原创 2020-01-03 08:46:10 · 749 阅读 · 0 评论 -
避坑指南(一):Spring Security Oauth2中refresh_token刷新access_token异常
问题Spring Security Oauth2中,当access_token即将过期时,需要调用/oauth/token,使用refresh_token刷新access_token,此时会存在一个坑:即如果使用Spring Security框架默认生成的AuthenticationManager时,接口调用异常。具体报错信息为如下:No AuthenticationProvid...原创 2019-12-30 11:10:48 · 16255 阅读 · 0 评论 -
Spring Cloud进阶之路 | 四:服务消费者(feign)
feign简介github说明Feign is a Java to Http client binderinspired by Retrofit, JAXRS-2.0, and WebSocket. Feign's first goal was reducing the complexity of binding Denominator uniformly to Http APIs ...原创 2019-12-28 15:25:20 · 397 阅读 · 0 评论 -
Spring Cloud进阶之路 | 三:服务消费者(rest+ribbon)
ribbon简介官网说明Ribbon is a client side load balancer which gives you a lot of control over the behaviour of HTTP and TCP clients. Feign already uses Ribbon, so if you are using @FeignClient then this...原创 2019-12-26 14:18:38 · 386 阅读 · 0 评论 -
Spring Boot工程如何在IDEA中启动多实例
转载请注明作者及出处:作者:银河架构师原文链接:https://blog.csdn.net/liuminglei1987/article/details/103700599在日常工作开发过程中,经常会遇到需要启动多个服务实例的情况,相信大家都采用了不同的办法,甚至是笨办法。本篇文章将介绍一下Spring Boot工程如何在IDEA中启动多实例。其实,也很简单,只需一...原创 2019-12-25 15:54:36 · 403 阅读 · 0 评论 -
Spring Cloud进阶之路 | 二:服务提供者(discovery)
1 创建父项目以前文所述,以spring boot 2.1.7.RELEASE为基,spring cloud版本为Greenwich.SR2,spring cloudalibaba版本为2.1.0.RELEASE。后续均以此为版本参照,不再赘述。pom<?xml version="1.0" encoding="UTF-8"?><project ...原创 2019-12-20 14:56:27 · 799 阅读 · 0 评论 -
Spring Cloud进阶之路 | 一:服务注册与发现(nacos)
1、版本最新稳定版本为1.1.4,也可以从发版说明、博客中查找每个版本的特性,官方推荐使用最新稳定版本。2、搭建注册中心2.1、环境准备nacos依赖于Java运行环境,请确保已安装使用。64位操作系统,支持 Linux/Unix/Mac/Windows,推荐Linux/Unix/Mac。 JDK 1.8+64位,下载地址。2.2、下载nacos直接...原创 2019-12-19 16:54:50 · 841 阅读 · 0 评论