- 博客(13)
- 收藏
- 关注
原创 Oauth2 + JWT登出(黑名单方案)
说明首先说一下,本人不建议用JWT这种token方式,还是建议大家用RedisTokenStore方案,比较成熟。因为JWT是无状态的,这是它的优点,如果强行给它加状态,那还不如用Session方案。为什么要写这篇主要是因目前公司使用JWT这种登录方式,如果换成其它token方式,可能改动比较大,还可能有其他隐藏bug。当然,既然要使用JWT,就要接受它的坑,比如不能控制登出功能,因为官方的JwtTokenStore.removeAccessToken是个空方法;比如不能实现续签功能,因为同一个用户id,
2020-10-27 21:15:06 2251
原创 Sentinel 整合 Spring Cloud + Gateway + 控制台Nacos持久化
项目版本Spring Boot版本:2.2.9.RELEASESpring Cloud版本:Hoxton.SR7Spring Cloud Alibaba版本:2.2.1.RELEASE官方doc所有功能文档概况官方文档介绍本文分为以下几部分:普通服务集成控制台整合Nacos 自己Github重新封装地址网关集成(spring cloud gateway)控制台启动、参数和指定Nacos地址+namespace等Nacos持久化最终效果图如下:普通服务注:S
2020-10-27 21:11:07 4276
原创 Reactive、Reactor和webflux
开题Reactor顾名思义核反应堆,光听名字就知道它有多强了,首先Reactor是异步非阻塞的,基于netty,而tomcat不是,一个请求一个线程(除了Servlet3.1以上),使用Reactor就是整个代码在执行链上也更清晰,做过前端的同学应该很有感悟,不管是jquery还是vue都是一级一级往下点,那种感觉真的很爽,当然java8也有类似体验。所以诞生之初,这个东西就不是为了java而生的,java是重语言,强调稳定性,直到jdk1.8也不愿意为reactor妥协。最终Spring按奈不住了,率先
2020-10-20 19:28:45 1848
原创 Spring Security动态路径放权使用说明
目的为了解决每添加一个不需要登录的接口,首先要去 security.ignore.http-urls 配置不需要登录的接口路径,然后重启网关服务(因为网关掌握着鉴权),这样生产环境频繁重启,很不友好。于是自己结合Spring Security权限相关的功能结合Nacos动态刷新配置优点扩展了能动态刷新需要放权路径的功能警惕该功能需要测试是否稳定,毕竟官方没有这种方案,自己结合已有知识和大量实践试错整合的,并不确定是否会影响以后Spring Security+OAuth2权限相关功能。如果影响,
2020-10-20 19:28:14 1999 1
原创 Springfox3 使用说明并整合 gateway 实现文档集中化
未解决的坑:1.Basic用不了,Bearer的引用方式跟以前有点不一样2.gateway网关统一管理 集中文档只能用SWAGGER_2(2.0),不能用OAS_30(3.0.3)3.引入基础包的bean不能使用 BeanFactoryAware(导致不能创建多个group)替换Springfox3配置引入包现在只需要一个包 springboot的,不像以前需要两个,当然可以单独引用两个也行3.0的,具体可以进入这个包里看 <dependency>
2020-10-20 19:27:44 2608 1
原创 Redis cluster集群安装+启动过程
安装(没时间去搞,后期加上)ruby肯定是要安装的https://www.cnblogs.com/powerwu/articles/11506366.htmlhttp://blog.itpub.net/31015730/viewspace-2155989https://segmentfault.com/a/1190000015795054?utm_source=tag-newesthttps://blog.csdn.net/YangzaiLeHeHe/article/details/9361855
2020-10-20 19:27:11 575
原创 nginx集群安装+启动过程(Nacos集群一)
安装nginx1.用yum安装,执行命令:yum install -y nginx2.默认安装路径是:/usr/sbin/nginx3.默认配置路径是:/etc/nginx4.自定义nacos配置(mynacos.conf):[root@localhost conf.d]# lsdefault.conf mynacos.confupstream cluster{ server 192.168.128.30:8848; server 192.168.128
2020-10-20 19:26:41 482
原创 git仓库迁移方案
1.去老仓库通过git clone --bare 老项目.git地址(它是一个空服务项目),如下图git clone --bare git@192.168.128.33:developteam/backend/spring-cloud/saas-platform.git2.进去刚才bare的目录,也就是上面的图,执行cd saas-platform.git/git push --mirror git@192.168.128.33:developteam/backend/spring-cloud/b
2020-10-20 19:26:23 184
原创 Nacos集群二(集群+外挂mysql数据源)
集群概况目前nacos集群分布在三台服务器上,使用vip搭建方式,详情看Nacos集群官方配置,目前分别搭建在本地192.168.128.30、192.168.128.21、192.168.128.22服务器上。安装参照官方编译源码方式:(最好自己编译,虽然比较慢,最好不要用别人官方打包好的)https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html#配置1.安装路径:(编译后的)[root@localhost nacos]# pwd
2020-10-20 19:26:02 686
原创 分布式事务Seata使用说明
目前功能如下Seata服务已做高可用+负载均衡(目前三台机器分别在32、36、37)外挂事务日志数据库(目前在开发环境数据库database=seata,也是为了高可用)使用Nacos作为Seata注册中心以及配置中心(配置中心namespace=seata 勿删)支持普通本地事务+分布式事务组合整合ShardingSphere分布式柔性事务(这个比较特殊,单独讲)说明Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata分为三块分别是:
2020-10-20 19:24:27 2661
原创 SpringCloud+Spring Security+OAuth2 + JWT + Gateway讲解
项目简介本登录系统是一个适应前后端分离并支持传统PC登录的全方位微服务登录架构基于Spring Boot 2.2.8.、 Spring Cloud Hoxton.SR5 和 Spring Cloud Alibaba 2.2.1深度定制Spring Security,基于RBAC(暂未实现)、jwt和oauth2的无状态统一权限认证的单点登录、单点登出(暂未实现)、续签等功能(暂未实现)提供C端多租户功能(暂未实现)提供第三方被授权登录方式(openId方式)提供供内部服务调用的OAuth2
2020-10-20 19:23:55 9642 5
原创 Nacos配置中心规范
版本选择毕业版本依赖关系(推荐使用)NamespaceNacos引入了命名空间(Namespace)的概念来进行多环境配置和服务的管理及隔离Namespace也是官方推荐的多环境支持方案。如何进行配置和服务的管理、隔离(Group)这里的group就是Namespace的概念,将服务和配置纳入相同的Namespace进行管理不同Namespace下的服务和配置之间就隔离开来。创建和获取NamespaceIDNamespaceId值是在配置文件配置时必须要填入的配置项,所以需要我们先创建N
2020-10-20 19:22:31 1107
原创 Sentinel使用说明
说明Sentinel官方文档写的不是很详细,坑比较多。本人主要是改了Sentinel的控制台release版本源码,测试环境又使用的是我改源码后打包的jar,有两个功能支持不是很好(参数限流和黑白名单授权),如果有其他问题,请联系我。但是基本上95%的工作都已经被我封装了,大家只需不到5%的工作量,当前熔断、降级支持Hystrix方案,所以以前的代码可以几乎不动(有少量问题下面会说)。引入pom包引入下述包即可使用sentinel <!-- sentinel自定义封装组件 --&
2020-10-14 17:19:43 2545 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人