自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (6)
  • 收藏
  • 关注

原创 【mysql】 踩坑记录之derived(派生表)

前言很多时候我们常常感觉到,不要你以为,mysql要它以为。记录派生表踩坑记录。首先说明环境mysql5.7,脚本如下CREATE TABLE `emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `sal` float(255,0) DEFAULT NULL, `...

2019-12-31 13:40:28 2216

原创 简单使用mat工具分析java.lang.OutOfMemoryError: Java heap space

面试经常被闻到,OutOfMemoryError什么时候会出现,在网上找了很多资料,记录下学习笔记。制造一个OutOfMemoryError场景堆溢出如下代码,让程序一直往list集合里面添加数据。package com.batman.jvm;import java.util.ArrayList;import java.util.List;public class OutOfM...

2019-12-31 11:22:57 2039 2

原创 【Spring Security】Spring Security Oauth2用户授权及token的传递

前言上边分享如何实现网关鉴权介绍,那么问题来了,所有用户进来可以是不同的角色,不同的权限,这里后端怎么控制呢。方法授权需求分析方法授权要完成的是provider访问根据jwt令牌完成对方法的授权,具体流程如下:生成Jwt令牌时在令牌中写入用户所拥有的权限我们给每个权限起个名字,例如某个用户拥有如下权限:batman:访问provider的hello接口在hello方法上添加注解P...

2019-12-28 10:16:59 1784

原创 【Spring Security】SpringCloudGateway 整合Spring Security Oauth2

前言更新到这里呢,终于满足了读者两年的好奇心。从上年年底探索Spring Cloud GateWay,众所周知,网关最大的用途在于限流、和路由,还有一个功能就是做鉴权,一直在我心中的疑惑,这个Spring Security OAuth2是和网关怎么关联的呢,最近终于找出了答案。上图:首先,介绍下流程客户端请求认证服务进行认证。认证服务认证通过向浏览器cookie写入token(身份令...

2019-12-28 00:02:44 11418 9

原创 【Spring Security】Spring Security Oauth2登陆提供Controller接口

上次分享到如何使用postman实现账号密码登陆,显然很复杂,传到的参数太多,一般我们只需要传两个参数即可,即 username和password这样就行了,况且以后做网关的话,也会分流到这个接口,于是这样的接口的开发势在必得。1. 代码实现1.1 创建请求类三个参数,用户名,密码,验证码。@Data@ToStringpublic class LoginRequest { S...

2019-12-23 16:22:10 1923

原创 【Spring Security】Spring Security Oauth2密码模式授权

密码模式(Resource Owner Password Credentials)与授权码模式的区别是申请令牌不再使用授权码,而是直接通过用户名和密码即可申请令牌。github:https://github.com/fafeidou/fast-cloud-nacos/blob/master/fast-cloud-nacos-examples/spring-security-examples/p...

2019-12-23 11:24:13 591

原创 【CI、CD专题】docker安装gitlab

bashdocker pull docker.io/redisdocker pull docker.io/sameersbn/postgresqldocker pull docker.io/sameersbn/gitlabdocker run --name postgresql -d --privileged=true -e 'DB_NAME=gitlabhq_production' ...

2019-12-19 13:04:42 240

原创 【Spring Cloud】结合Eureka健康检测机制聊聊TCP长连接和心跳那些事

# 前言可能很多 Java 程序员对 TCP 的理解只有一个三次握手,四次握手的认识,我觉得这样的原因主要在于 TCP 协议本身稍微有点抽象(相比较于应用层的 HTTP 协议);其次,非框架开发者不太需要接触到 TCP 的一些细节。其实我个人对 TCP 的很多细节也并没有完全理解。长连接与短连接TCP 本身并没有长短连接的区别 ,长短与否,完全取决于我们怎么用它。短连接:每次通信时,...

2019-12-17 13:36:04 3337 1

原创 【CI、CD专题】使用rancher实现Eureka高可用

1.Eureka高可用1.1修改配置文件application-eureka01.ymlserver: port: 8761eureka: client: serviceUrl: defaultZone: http://eureka01:8761/eureka/,http://eureka02:8762/eureka/,http://eureka03:8...

2019-12-16 17:03:22 580 1

原创 【CI、CD专题】极速体验安装rancher发布eureka

学习k8s,感觉入手有点难,喜欢来点实际操作来激发学习的兴趣,于是就搞了搞rancher,来一篇手记。首先说下环境宿主机mac两台centos7,用的是virtualbox安装的,至于怎么安装初始化配置,可以看我上篇博客。启动两台centos7开战。在rancher-server执行命令sudo docker run -d --restart=unless-sto...

2019-12-16 13:50:18 318

原创 【CI、CD专题】mac或win平台下VirtualBox安装centos7之配静态ip

本文介绍mac平台下安装虚拟机,并且安装centos配置静态ip。1. 安装virtualBox1.1 下载virtualBox去oracle官网下载mac版的virtualBox。 官网下载地址https://www.virtualbox.org/。下载好后按照向导进行安装即可2.安装centos72.1下载下载地址:http://isoredirect.cento...

2019-12-16 11:09:23 475

原创 【Spring Security】Spring Security 解决swagger无法访问

由于加上了security,访问swagger就会出现下面这个问题,这是由于对每个到达系统的http请求链接进行校验,有的连接需要暴露出来1.解决方法1.1 排除拦截将swagger的访问路径,给排除掉,这样就解决了。@Configuration@EnableResourceServer@EnableGlobalMethodSecurity(prePostEnabled = true...

2019-12-14 18:09:01 11532 2

原创 【Spring Security】Spring Security 与 OAuth2 之资源服务授权

1.资源服务授权1.1资源服务授权流程资源服务拥有要访问的受保护资源,客户端携带令牌访问资源服务,如果令牌合法则可成功访问资源服务中的资源,如下图:上图的业务流程如下:客户端请求认证服务申请令牌认证服务生成令牌认证服务采用非对称加密算法,使用私钥生成令牌。客户端携带令牌访问资源服务客户端在Http header 中添Authorization:Bearer 令牌。资源服务请求...

2019-12-14 17:08:53 224

原创 【Spring Security】Spring Security 与 OAuth2 之授权码模式

1.Oauth2认证1.1 Oauth2认证流程第三方认证技术方案最主要是解决认证协议的通用标准 问题,因为要实现 跨系统认证,各系统之间要遵循一定的接口协议。OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、Ja...

2019-12-14 14:30:05 840

原创 【Spring Security】spring security 之初探jwt

初探jwtSpring Security 提供对JWT的支持,我们使用Spring Security 提供的JwtHelper来创建JWT令牌,校验JWT令牌等操作1.1生成私钥和公钥JWT令牌生成采用非对称加密算法生成密钥证书下边命令生成密钥证书,采用RSA 算法每个证书包含公钥和私钥keytool -genkeypair -alias batman -keyalg RSA ...

2019-12-12 14:38:18 400 2

原创 【Spring Security】spring security 之 BCryptPasswordEncoder

BCryptPasswordEncoder加密BCryptPasswordEncoder encode = new BCryptPasswordEncoder();encode.encode(password);比较 需要通过自带的方法 matches 将未经过加密的密码和已经过加密的密码传进去进行判断,返回布尔值。matches(CharSequence rawPasswo...

2019-12-11 18:24:02 294

原创 【限流】spring cloud gateway 令牌桶源码分析及扩展

简介SpringCloud Gateway 集成了redis做限流。限流作为网关最基本的功能,Spring Cloud Gateway官方就提供了RequestRateLimiterGatewayFilterFactory这个类,使用Redis和lua脚本实现了令牌桶方式的限流.这个filterFactory依赖RateLimiter及KeyResolver,其中KeyResolver用...

2019-12-11 10:50:01 1082 2

原创 【k8s专题】简述Kubernetes架构

Kubernetes Cluster由Master和Node组成,节点上运行着若干Kubernetes服务MasterMaster是Kubernetes Cluster的大脑,运行着的Daemon服务包括kube-apiserver、kube-scheduler、kube-controller-manager、etcd和Pod网络API Server(kube-apiserver)A...

2019-12-09 15:16:56 253

原创 【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值url参数模式

接着上篇的header模式,有时候会想到能不能通过url参数来限流呢,sentinel也是支持的。分析URL这种模式通过调试我发现,通过url添加参数名称为type,值为warn,sentinel也会埋点。rules.add(new GatewayFlowRule("httpbin_route") .setCount(1) .setInter...

2019-12-06 10:05:56 1200

原创 【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流值header模式

上一篇是写如何动态限流的,力度是对所有的访问者,突然今天有个需求,是这样,需要根据不同的租户来限流,怎么做呢?来看下吧。追踪源码com.alibaba.csp.sentinel.adapter.gateway.common.rule#GatewayFlowRule 这个类中,就是昨天我们nacos的那些配置,代码片段如下:public class GatewayFlowRule { ...

2019-12-05 16:22:31 1892

原创 【SpringCloudAlibaba专题】spring cloud gateway结合nacos实现sentinel动态限流

最近需要做限流,看一下网关的限流,做了一demo,防止以后忘记操作流程。准备nacos环境nacos ,下载下来unzip启动 sh startup.sh -m standalone准备sentinel环境sentinel-dashboard-1.6.0.jar 下载jar包通过命令启动:java -jar sentinel-dashboard-1.6.0.jar ,这里要介绍下...

2019-12-04 18:02:59 2813

原创 【微服务专题】探险如何用消息队列实现分布式事务

TODO

2019-12-04 09:53:49 151 1

原创 【go语言专题】探究go defer修改值

TODO

2019-12-04 09:50:41 147

原创 【go语言专题】go如何实现java的join

TODO

2019-12-04 09:49:18 604

原创 【go语言专题】gorm如何实现乐观锁

TODO

2019-12-04 09:46:54 2400 4

原创 【计网专题】探究http与https区别

TODO

2019-12-04 09:44:46 123

原创 【JUC专题】探险乐观锁与悲观锁的区别

TODO

2019-12-04 09:43:16 166

原创 【ElasticSearch专题】探险IK热更新的姿势二「tomcat-http更新」

前面分享了如何用mysql热更新文档,现在这篇用tomcat http的方式更新。原理分析上次说到他会有一个定时任务刷新,这个定时任务也会扫描http的方式拉取远程的词典,对源码做了以下分析:监控流程:①向词库服务器发送Head请求②从响应中获取Last-Modify、ETags字段值,判断是否变化③如果未变化,休眠1min,返回第①步④如果有变化,重新加载词典⑤休眠1min,返...

2019-12-03 15:11:22 247 2

原创 【文件操作专题】java 实现多张图片合成PDF

TODO

2019-12-02 21:08:01 1586 2

原创 【JUC专题】scheduleAtFixedRate与scheduleWithFixedDelay区别

TODO参考blog https://www.jianshu.com/p/ca78c2a1c108

2019-12-02 21:04:18 124

原创 【ElasticSearch专题】探险IK热更新的姿势一「mysql热更新」

TODO

2019-12-02 21:02:56 533 1

apache-skywalking-apm-6.5.0.tar.gz

随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,所以会深深的感受到 “银弹” 这个词是不存在的,每种架构都有其优缺点 。

2020-04-03

lombok-plugin-0.28-2019.3.zip

Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/,github地址:https://github.com/rzwitserloot/lombok

2020-01-27

Navicat.for.MongoDB.12.1.7.rar

Navicat for MongoDB 的高效图形用户界面,用于管理和开发 MongoDB 数据库。它能连接本地或远程的 MongoDB 服务器,以及与 MongoDB Atlas、阿里云、腾讯云和华为云兼容。为管理、监控、查询和可视化数据提供了卓越的功能,轻松提高日常 MongoDB 操作的效率。

2020-01-06

Navicat for MySQL v12.0.29.zip

1.Navicat for MySQL支持创建工具或编辑器数据模型工具 2.支持数据传输/导入/导出、数据或结构同步等 3.Navicat for MySQL支持查询参数 4.Navicat for MySQL支持SSH密钥等 5.界面设计直观简洁,兼容性强 6.专业:适合专业人士,也非常适合入门新手使用

2020-01-05

Xshell.zip

Xshell [1] 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。

2020-01-05

redis集群搭建所需要文件

搭建redis少走弯路,就来这里吧。搭建redis少走弯路,就来这里吧。

2017-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除