spring cloud
文章平均质量分 87
iloveoverfly
年轻人不讲code德
展开
-
微服务系统保障选择Hystrix还是Sentinel?
Hystrix在spring cloud系统中,随着业务量的增加,默认选用Hystrix作为系统的熔断降级方案。由于,系统中使用security jwt方式做权限认证,服务之间feign使用RequestTemplate在header中传递token。开启Hystrix后,由于默认的隔离机制是线程池,在调用下游服务时,会重新创建线程,RequestContextHolder通过ThreadLocal无法获取token。如何让token传递到下游服务呢?可以使用hystrix信号量的机制进行服务的容错原创 2021-02-09 11:16:15 · 1103 阅读 · 2 评论 -
为什么要使用注册中心?是eureka还是nacos?
为什么要使用注册中心有使用过ip:port地址直接调用服务的开发经历么?该段痛苦的经历在此处省略500字......,该种方式的缺点:需要手动的维护所有的服务访问ip地址列表。 单个服务实现负载均衡需要自己搭建,例如基于容器化多实例部署单个服务,在实例之间做负载均衡。使用注册中心能够实现服务治理,服务动态扩容,以及服务调用的负载均衡,完整调用链路示例如下:服务提供者:向注册中心根据服务名称提供服务访问的ip:port以及其他信息。 注册中心:根据服务名称,存储对应的ip:port以及其原创 2021-01-14 20:48:31 · 11266 阅读 · 4 评论 -
什么是JWT?为什么选择JWT?如何在Spring Cloud Security集成使用?
什么是JWT?Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准,详情可以参考什么是 JWT -- JSON WEB TOKEN。其特点如下:具体时效性,包含失效时间。 具有安全性,基于密钥机制的签发和验证机制。为什么选择JWT?基于oauth2协议认证过程中,以密码类型认证方式为例,包括认证和授权两个步骤。分别如下:客户端通过客户端用户名和密码,密码授权方式,以及用户名和密码,向授权服务器认证,如果有效则返回token(访问令牌原创 2020-10-01 00:11:03 · 7446 阅读 · 0 评论 -
如何使用Nacos实现数据库连接的自动切换?
为什么使用nacos?Nacos作为参数配置中心,可以使服务在不重启的情况下动态修改配置参数。官网的描述更加详细点,如下:动态配置服务动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。Nacos 还提供原创 2020-08-21 18:39:54 · 12131 阅读 · 0 评论 -
深入理解Spring Cloud Zuul网关和使用场景
网关的好处在单体应用程序架构下,客户端( Web 或移动端)通过向服务端发起一次网络调用来获取数据 。 负载均衡器将请求路由给 N 个相同的应用程序实例中的一个 。 然后应用程序会查询各种数据库表处理业务逻辑,并将响应返回给客户端。 微服务架构下,单体应用被切割成多个微服务,如果将所有的微服务直接对外暴露,势必会出现安全方面的各种问题。客户端可以直接向每个微服务发送请求,其问题主要包括:...原创 2020-03-19 07:44:07 · 5109 阅读 · 0 评论 -
玩转Spring Cloud Security OAuth2资源授权动态权限扩展
Spring Cloud Security OAuth2授权信息,属于一次加载,然后缓存到资源服务。如果在运行时,有两种方式动态获取权限信息。实现AccessDecisionVoter接口,自定义授权逻辑和实现FilterInvocationSecurityMetadataSource自定义url路径需要授权的信息。方式一:实现AccessDecisionVoter接口示例中,根据user...原创 2020-03-08 13:49:12 · 8379 阅读 · 0 评论 -
深入理解Spring Cloud Security OAuth2资源授权
在Spring Cloud Security 中,认证和授权都是通过Servlet Filter拦截,处理完成后然后再转发到对应的Servlet请求。认证成功后,会被FilterSecurityInterceptor Filter拦截,进入授权部分,如果应用中配置了对权限的控制,这就将生成对应的过滤器对其进行权限控制。AccessDecisionManager接口,定义了授权处理,源码如下:...原创 2020-03-08 12:57:12 · 2723 阅读 · 0 评论 -
玩转Spring Cloud Security OAuth2身份认证扩展——电话号码+验证码认证
在程序的认证过程中,除了常规的用户名和密码方式(可以参考手把手教你玩转Spring Cloud Security OAuth2认证),也经常会出现电话号码+密码的方式;电话号码+验证码的方式;或者第三方软件的方式。以下,以电话号码+验证码的方式讲述OAuth2认证方式的扩展。在OAuth2认证开始认证时,会提前Authentication认证信息,然后交由AuthenticationManag...原创 2020-03-07 00:13:12 · 5309 阅读 · 2 评论