Spring Cloud

Spring Cloud Alibaba系列(六)Sentinel的实际应用

  Spring Cloud       2020年11月12日       1,649 热度    
一、sentinel的持久化配置上一章中我们通过Dashboard来为Sentinel客户端设置各种各样的规则,但是这些规则默认是存放在内存中,极不稳定,无法用于生成环境,所以需要将其持久化。DataSource扩展常见的实现方式有:拉模式:客户端主动向某个规则管理中心定期轮询拉取规则,这个规则中心可以是 RDBMS、文件,甚至是 VCS 等。这样做的方式是简单,缺点是无法及时获取变更;推模式:规
Spring Cloud Alibaba系列(六)Sentinel的实际应用

Spring Cloud Alibaba系列(五)Sentinel实现服务限流降级

  Spring Cloud       2020年11月12日       1,483 热度    
一、sentinel是什么sentinel的官方名称叫分布式系统的流量防卫兵。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。在Spring Cloud项目中最开始我们使用的是Hystrix,目前已停止更新了。现在Spring Cloud官方推荐的是rensilience4j。当然还有我们今天学习的sentinel。Sentinel 具有以下特征:丰
Spring Cloud Alibaba系列(五)Sentinel实现服务限流降级

Spring Cloud Alibaba系列(四)使用Gateway作为服务网关

  Spring Cloud       2020年11月12日       1,678 热度    
什么是网关在微服务架构里,服务的粒度被进一步细分,各个业务服务可以被独立的设计、开发、测试、部署和管理。这时,各个独立部署单元可以用不同的开发测试团队维护,可以使用不同的编程语言和技术平台进行设计,这就要求必须使用一种语言和平台无关的服务协议作为各个单元间的通讯方式。换句话说就是网关为所有的请求提供了统一的入口,方便我们对服务请求和响应做统一管理。为什么要用网关API 网关是一个处于应用程序或服务
Spring Cloud Alibaba系列(四)使用Gateway作为服务网关

Spring Cloud Alibaba系列(三)使用feign进行服务调用

  Spring Cloud       2020年11月12日       1,596 热度    
什么是FeignFeign是spring cloud提供的一个声明式的伪http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一天注解即可。Nacos很好的兼容了Feign,Feign默认默认继承了Ribbon,所以在nacos下使用Feign默认就实现了负载均衡的效果。Ribbon支持的负载均衡策略负载均衡就是将请求分摊给多个实例进行进行处理。根据负载均衡发生位置的
Spring Cloud Alibaba系列(三)使用feign进行服务调用

Spring Cloud Alibaba系列(二)nacos作为服务配置中心

  Spring Cloud       2020年11月12日       1,704 热度    
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散,在一个微服务架构中,配置文件会随着微服
Spring Cloud Alibaba系列(二)nacos作为服务配置中心

Spring Cloud Alibaba系列(一)nacos作为服务注册中心

  Spring Cloud       2020年11月12日       1,256 热度    
Spring Cloud Alibaba各组件版本关系毕业版本依赖关系这次项目中我们用的alibaba版本是2.2.1.REALEASE,因此各组件的版本与之对应,在实际应用中请务必使用与Spring Cloud Alibaba版本相对应的Spring Cloud版本和Spring Boot版本。什么是nacos在spring cloud版本中我们使用eureka、consul等做为服务注册中心,
Spring Cloud Alibaba系列(一)nacos作为服务注册中心

Spring Cloud中使用Junit调用数据库时报错

  Spring Cloud       2020年04月07日       1,774 热度    
零、问题项目(基于Spring Cloud)在正常启动的情况下是没问题的,但是一运行单元测试就报org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)一般来说这是没有找到Mapper.xml文件导致的,但是很奇怪,只有在单元测试的时候才会出现这个问题。一、解析经过排查发现,项目中为了图方便,把常

为Access-Control-Allow-Origin设置白名单

  Spring Cloud       2019年07月04日       9,517 热度    
零、前言接上一篇《Spring Cloud Oauth2 Cors配置方案》在生产环境中,使用 Access-Control-Allow-Origin:* 的安全性较差,需要限制只能自己的几个业务域名才能跨域访问,原本想把多个域名,用逗号隔开,比如"https://*.hhfate.cn,https://*.reinforce.cn",但是提示 Access-Control-A

Spring Cloud Oauth2 Cors配置方案

  Spring Cloud       2019年07月01日       2,072 热度    
零、背景最近项目组准备搞前后端分离,前端使用vue框架,那么首要问题来了,如何再使用原来搭建的单点登录系统(Oauth2)。vue切换到 history 模式,在写了一套Oauth2登录的JS实现后,发现还有一个跨域的问题,无法POST获取 “/access/token”。网上找了很多方法都无效,有一个修改 WebSecurityConfigurerAdapter 的加载顺序(Order),但是会

真·Spring Cloud OpenFeign超时时间配置

  Spring Cloud       2018年11月06日       17,604 热度    
零、前言网上找的各种方法,要么是老版本的,要么无效,经过一番源码研究,终于得出了配置方案。软件版本:Spring Boot 2.0.4.RELEASESpring CloudFinchley SR2一、原因网上各种的方案,都是修改超时时间,当前版本修改超时时间有3中方案:(1) feign client#default为全局配置,如果要单独配置每个服务,改为服务名 #默认为10s feign.cl

给Eureka Server加上登录验证

  Spring Cloud       2018年09月19日       5,340 热度    
Eureka Server默认谁都可以访问,如果是部署在生产环境就太不安全了。我们使用Spring Security来实现登录验证。Spring Cloud版本:Finchley.SR1Spring Boot版本:2.0.4.RELEASE一、在pom.xml中加入Spring Security支持<dependency> <groupId>org.springframew

Spring Security OAuth2 单点登录退出

  Spring Cloud       2018年09月14日       20,967 热度       2 条评论
最近在做项目的时候发现,使用Spring Security OAuth2作单点登录的时候,当客户端退出了,再次进入到服务端登录页面的时候,直接按之前的账号登录了。需要的逻辑应该是:站点1登录后,站点2能不输入用户名密码直接登录;当其中一个站点退出后,需要输入用户名密码重新登录。方案一、通过SecurityContextLogoutHandler登出在客户端的WebSecurityConfigure