自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

叶落自飘零的博客

我的程序生涯

  • 博客(112)
  • 资源 (4)
  • 收藏
  • 关注

原创 Spring Cloud(Finchley.RELEASE版本)微服务学习实践:1.0文章目录

环境:jdk1.8;spring boot2.0.3;spring cloud(Finchley.RELEASE版本);Maven3.3目录:1.1版本选择及快速构建2.1服务注册与发现-Eureka Server2.2服务提供方及健康检查设置-Eureka Discovery3.1服务消费者-Ribbon3.2服务消费者-Feign4.1服务容错-Hystrix...

2018-06-27 18:16:30 1897

原创 记kill -9进程失败后服务也异常

场景:一般发布先用新包替换原有发布jar包,再进行老进程killl;但此次发布由于之前的一次权限变更即root用户收回,替换成新的子用户;发布时没有权限进行kill掉root用户的ji

2021-06-16 15:52:18 557

原创 记Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command

lettuce本身设计问题,相关文章可参考,推荐换成jedis链接:https://www.cnblogs.com/wingcode/p/14527107.html

2021-06-16 15:21:49 1603

原创 liunx下ETL(kettle)脚本定时任务(crontab)启动失败定位及解决

现象: 最近项目有使用ETL工具kettle进行数据抽取更新,最终在服务器上执行时需要进行定时启动;通过crontab-e配置之后发现没有启动成功,由于只有子用户权限,没有root用户及sudo权限,经过一番排查及操作才得以解决,故记录下来;原有步骤:1.kettle脚本的编写Date=`date +%Y%m%d%H%M%S`/app/ETL/kettle/kitc...

2020-01-09 10:49:36 1531 1

原创 高安全加密BCrypt及其性能缺陷

背景: BCrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。 BCrypt强哈希方法,每次加密结果都不一样。这就对安全性而言具有强安全性; 但其也有缺点,项目组进行压力测试,密码登录接口100并发1000请求发现80%都在2秒以上,且最长时间超过...

2019-12-27 16:10:34 4002

原创 RocketMQ1.1RocketMQ安装及高可用搭建配置(附RocketMQ参数配置文件详解)

环境:rocketmq4.5.1摘要:消息队列 RocketMQ是低延迟、高并发、高可用、高可靠的分布式消息中间件。该产品最初由阿里巴巴自研并捐赠给 Apache 基金会,服务于阿里集团 13 年,覆盖全集团所有业务。作为双十一交易核心链路的官方指定产品,支撑千万级并发、万亿级数据洪峰,历年刷新全球最大的交易消息流转记录;目前是由Apache基金会维护。步骤:一、相关概念R...

2019-12-18 16:59:49 848

原创 Redis学习4.1:redis一主二从三哨兵高可用配置

目录环境:摘要说明:步骤:一、安装redis二、主从配置三、哨兵配置环境:redis-4.0.14,centos7摘要说明:redis主从配置:部署多台redis,将一台作为master、其他配置成slave,数据修改时,主从同时修改;当master挂掉之后会从slave中选出一台作为master;哨兵配置:当主从配置成功后,有个问题来了,如何监控...

2019-12-18 14:03:16 682

原创 JAVA开发经验(二):常用工具类2.8-IO-图片合并并添加文字(ImageMergedUtil)

摘要说明:ImageMergedUtil主要合成图片并添加文字,比如经常遇到的背景二维码生成海报Maven依赖:无效果: + = java工具类:import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D...

2019-12-12 17:22:59 340

原创 分布式事务(一)理论篇

摘要说明: 简单的说事务的本质就是将多个非原子性的操作构造成一个“原子性”的执行单元的机制;即多个原子操作要么全部成功,要么全部失败即回滚; 但往往一个业务会因为多种原因需要划分成多个这样的节点,通常的原因有业务划分产生多个节点如微服务; 由于多个数据源产生多个节点; 简单的说分布式事务需要保证这些小节点要么全部成功,要么全部失败。本质上来说,分布...

2019-11-25 14:21:17 384

原创 Spring Cloud Oauth2实现分布式权限认证(JWT版)

目录环境:摘要说明:步骤:一、什么是JWT二、实现JWT版授权服务1、公共模块(oauth2-common)2、授权服务(oauth2-server)3、应用服务(oauth2-client)三、测试四、jwt的优缺点jwt的优点:jwt的缺点:五、源码地址环境:JDK1.8,spring-boot(2.0.3.RELEASE),spri...

2019-11-20 17:13:19 2811 10

原创 Spring Cloud Oauth2实现分布式权限认证(redis版)

目录环境:摘要说明:步骤:一、整体结构及配置二、公共模块(oauth2-common)三、授权服务(oauth2-server)四、网关服务(oauth2-gateway)五、应用服务(oauth2-client)六、测试七、源码链接环境:JDK1.8,spring-boot(2.0.3.RELEASE),spring cloud(Finchley....

2019-11-19 16:58:00 3131

原创 ELK学习1.5 ELK(分布式日志分析平台)搭建配置实战

前面几节已经简单的介绍了elk各个组件之间的作用及基础使用,这里在总结下服务器无网下的安装及配置实例

2019-11-15 14:19:12 174

原创 前后端滑块验证码实例附源码(java jquery)

背景: 发送短信验证码或者登录等场景操作之前都需要进行图片验证码校验或者滑块验证码校验;此举是为了减少黑盒对服务端进行暴力破解密码或者频发短信轰炸请求的操作; 但如果滑块验证完全由前端进行操作,实际上是不能很好的进行黑盒测试的防御,很容易绕过,所以在这里推出一个前后端结合滑块验证码的实例;步骤:后台生成背景图+模版抠图+抠图横坐标+抠图纵坐标; 后台生成...

2019-10-24 11:18:57 6113 9

转载 数据库默认排序

Oracle:oracle对无order by的语句返回的结果不进行排序,oracle此时的处理方式是按照数据的物理存储顺序来读取数据。因为rowid是每行数据的地址,所以有时候看起来会像是使用rowid排序的。但这个顺序是可能被打乱的,在表的数据被删除后,rowid会被新插入的数据占用。所以一个无order by查询结果看起来也可能是个杂乱无章的。oracle的数据库实现就一个原则,怎么快怎么...

2019-07-10 16:27:14 8309

原创 分享几个学习和开拓视野的公众号

主要分享几个java后端技术架构或者IT相关资讯的公众号,排名不分先后:1.阿里巴巴中间件2.阿里技术3.并发编程网4.搬运工来架构5.菜鸟教程6.程序人生7.高可用架构8.IT技术精选文摘9.架构师之路10.InfoQ11.芋道代码12.程序员内参13.互联网后端架构...

2019-04-30 16:08:33 750

原创 java并发编程4.2AQS详解

环境:jdk1.8摘要说明:上一章节我们主要阐述了显示锁的使用详解本章节主要阐述下AQS原理及其使用:1.模版方法设计模式2.AQS详解3.AQS实战步骤:1.模版方法模式模版方法设计模式本质上就是在父类中编排主流程,将步骤实现延迟到子类去实现。主类中需要定义各个步骤的方法但不具体实现,但主类中还需要规定框架方法来组合这些方法来确定主流程;举例:消息...

2019-03-05 16:52:09 566

原创 java并发编程4.1显示锁及其与synchronized关键字的比较

环境:jdk1.8摘要说明:上一大章节主要阐述了原子操作CAS及常用的原子操作类本章节主要讲述显示锁的使用及显示锁和synchronized关键字的比较锁是一种通过多个线程控制对共享资源的访问的工具。通常,锁提供对共享资源的独占访问:一次只有一个线程可以获得锁,对共享资源的所有访问都要求先获得锁。然而,一些锁可能允许对共享资源的并发访问,例如ReadWriteLock的读锁。...

2019-03-01 16:01:48 363

原创 java并发编程3.1原子操作CAS

环境:jdk1.8摘要说明:上一大章节主要阐述了常用的并发工具类的的使用:本章节主要讲述原子操作CAS及常用的原子操作类;CAS是Compare And Set的缩写,是以一种无锁的方式实现并发控制。在实际情况下,同时操作同一个对象的概率非常小,所以多数加锁操作做的是无用功,CAS以一种乐观锁的方式实现并发控制。步骤:1.CAS之前有写过一个文章《高并发编程之高并发场...

2019-02-20 10:56:32 562

原创 java并发编程2.3并发工具类——Semaphore、Exchange、FutureTask

环境:jdk1.8摘要说明:上一章节主要讲述两个工具类CountDownLatch和CyclicBarrier使用及比较;本章节主要讲述其他几个并发工具类的使用:Semaphore:主要用来控制同时访问某个特定资源的线程数量,用在流量控制;Exchange:主要用来进行两个线程间的数据交换;FutureTask:前面已经介绍过,主要结合Callable、Future来进行线...

2019-02-18 16:06:01 758

原创 java并发编程2.2并发工具类——CountDownLatch和CyclicBarrier使用及比较

从本章节主要讲述两个工具类CountDownLatch和CyclicBarrier使用及比较;CountDownLatch:一种同步辅助工具,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成;CyclicBarrier:一种同步辅助工具,它允许一组线程相互等待到达共同的屏障点

2019-02-02 15:24:18 672

原创 java并发编程2.1并发工具类——Fork-Join

环境:jdk1.8摘要说明:上一大章节主要讲述线程的基础概念,线程间的共享及协作;从本章节开始会介绍并发编程的常用工具类;本章节主要介绍Fork-Join基础概念及用法步骤:1.Fork-Join基础概念什么是分而治之?分而治之的基本思想就是将大任务分割成小任务,最后将小任务聚合起来得到结果。Fork-Join就是基于分而治之思想而设计的,即规模为N的问题,N&...

2019-02-01 17:21:03 740

原创 java并发编程1.4线程间的协作——wait、notify/notifyAll等

环境:jdk1.8摘要说明:上两章我们主要讲了线程共享的相关关键字的使用方法;本章节主要讲述线程协作的相关概念及一些关键字用法线程间的协作:假设A线程不满足某个业务条件进行不下去,线程处于等待中;即此时需要等待B线程进行相关操作满足A线程的业务员条件;如果需要A不停的轮询去查询条件是否满足就显得笨重及不高效,此时如果B满足条件后通知A线程停止等待才最为高效快捷,这就是线程间的协...

2019-01-30 18:07:13 738

原创 java并发编程1.3线程间的共享——volatile,ThreadLocal

环境:jdk1.8摘要说明:上一张介绍了synchronized关键字的使用;本章节主要讲述java内存中的一些相关概念及volatile,ThreadLocal关键字的用法;步骤:1.基础概念本章节我们主要介绍java内存模型的三大特征:原子性,可见性,有序性;原子性:原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操...

2019-01-29 17:23:33 507

原创 java并发编程1.2线程间的共享——synchronized

环境:jdk1.8摘要说明:上节我们主要介绍了线程的基础概念,启动停止方式,状态及常用方法多个线程同时进行时,往往需要共享资源,如变量;本节主要讲述线程间共享的关键词synchronized的使用;synchronized关键字:代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同...

2019-01-21 16:43:16 307

原创 java并发编程1.1线程基础

摘要说明:本篇文章首先带领大家了解下一些基础概念,接着介绍下java常用的线程启动方式;步骤:1.基础概念CPU核心数和线程数的关系核心数:线程数=1:1  ;使用了超线程技术后---> 1:2;这里面指的是同一时刻cpu执行线程数CPU时间片轮转机制又称RR调度,会导致上下文切换;时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现...

2019-01-21 10:14:53 329

原创 nginx学习1.8 配置https

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下如何配置跨域、缓存、压缩;本章节主要讲述nginx的https配置;步骤:1.https配置首先我们要确定你的nginx安装了ssl模块:# ./nginx -V确认后需要有证书公钥和私钥,上传到服务器上;接着就是配置https端口443: server {...

2019-01-16 16:46:54 1811

原创 nginx学习1.7 nginx配置跨域(CORS)、防盗链(valid_referers)、缓存(expires)、压缩(gzip)

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下的常用内置变量及if语句;本章节主要讲述nginx的如何配置跨域、缓存、压缩;步骤:1.跨域场景:首先我们举例看看什么叫做跨域:当我们加载static.xxxx.com的页面之后,在js中调用www.xxxx.com接口,这个时候就叫做跨域;因为请求的主体已发生改变,浏览器拒...

2019-01-15 18:03:15 3744

原创 nginx学习1.6 nginx内置变量及if语句

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下的负载均衡的配置;本章节主要讲述nginx的常用内置变量及if语句;步骤:1.echo和setechonginx有个模块echo,是在nginx程序上扩展了echo输出字符的功能, 对于调试很方便;参考文档:链接echo默认是不安装的,编译时会报nginx: [emerg] ...

2019-01-15 18:02:40 3055

原创 nginx学习1.5 nginx负载均衡配置

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下的一些常用语法;本章节主要讲述nginx的三种负载均衡策略及其相关配置:步骤:1.upstream首先我们看一个负载均衡upstream的配置示例:upstream backend { server backend1.example.com weight=5; ser...

2019-01-14 17:39:29 505 1

原创 杂记之@Asyns异步调用的正确打开姿势

环境:spring;spring boot摘要说明:项目开发过程中往往会出现需异步调用的情况,以便提高系统的响应速度或者提高部分业务的处理时间;但异步调用需要根据系统的承受能力做好相关配置,而不是放任随意使用;如系统批跑5000条数据做相关业务处理;若循环异步处理,则很可能将数据库给压垮;所以这里需要控制系统异步线程池的大小及线程池的满额执行策略;步骤:1.@Asy...

2019-01-14 14:59:01 1971

原创 nginx学习1.4 nginx常用语法之root、alias、proxy_pass、rewrite等

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇主要讲述nginx下server节点中location进行详细的解析;本章节主要讲述nginx其他常用语法:步骤:1.root、alias及indexroot语法:root path 默认值:root html 使用字段:http, server, location ,location中的if字...

2019-01-09 17:26:19 1592

原创 nginx学习1.3 nginx下location配置详解

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇我们对配置文件的所有配置做了整体的详解,及日志的配置及分割本篇主要讲述nginx下server节点中location进行详细的解析,后续主要配置工作也在于此;步骤:1.虚拟主机从上篇我们可以看到主配置文件下nginx.conf的整体结构如下:其中main,event,http都为全局配置;而se...

2019-01-09 09:37:59 623

原创 nginx学习1.2 nginx主要配置详解

环境:centos6/7,nginx-1.9.15.摘要说明:上一篇我们介绍的nginx的基础概念,安装、目录及启停,链接;本篇主要讲述nginx的主要配置结构和各配置详解;步骤:1.配置文件整体结构:首先我们基于nginx-1.9,15上一个默认nginx配置如下:#user nobody;worker_processes 1;#error_log ...

2018-12-19 08:53:36 991

原创 nginx学习1.1 nginx简介及安装使用

环境:centos6/7摘要说明:Apache仍然是时长占用量最高的web服务器,据最新数据统计,市场占有率目前是50%左右。主要优势在于一个是比较早出现的一个Http静态资源服务器,同时又是开源的。所以在技术上的支持以及市面上的各种解决方案都比较成熟。Apache支持的模块非常丰富。Nginx是俄罗斯人编写的一款高性能的HTTP和反向代理服务器,在高连接并发的情况下,它能够支持高...

2018-12-17 15:32:07 932 1

原创 Tomcat配置ssl证书(.pfx)实现HTTPS

摘要说明:本篇文章主要讲述如何给Tomcat服务器使用.pfx证书配置https协议步骤:.pfx证书主要包括两部分,一个为.pfx文件,一个为密钥;首先我们将.pfx文件上传到服务器,本篇文章为了演示相对路径将.pfx文件上传到tomcat下新建文件夹cert下文件上传成功后需修改tomcat目录conf下的server.xml,添加443端口配置,配置如下:&lt...

2018-11-21 09:39:33 13268

原创 JAVA开发经验(一):Eclipse使用1.3-引入jar到本地资源库并解决二次依赖

摘要说明:当我们想加自己开发或其他非开源的jar包加入到maven管理时,就首先需要将jar包加入到本地资源库,本篇文章主要讲述如何使用eclipse将jar包加入本地资源库;步骤:1.添加到本地资源库右击--》import--》选择Maven下--》Install or deploy an artifact to a Maven repository首先选择要导入的pom...

2018-11-18 23:37:19 410

原创 zookeeper学习实践1.1:zookeeper简介及安装

环境:centos7.4,jdk1.8.0_191,zookeeper-3.4.12摘要说明:随着单节点应用越来越多的制约性,分布式系统的高并发,高性能就体现出来了;但分布式系统同时也会带来对应的问题,如通信异常,网络分区,三态,节点故障等;根据分布式的CAP理论(即一致性,可用性,分区容错性)架构师需要在可用性和一致性上做出对应的平衡;通常可以根据BASE理论(即Basically ...

2018-11-14 15:13:33 276

原创 liunx基础之基础命令合集1.4用户、用户组管理

环境:CentOS 7摘要说明:本篇主要讲述如何进行配置多用户及用户组步骤:1.创建用户及用户组常用步骤如下:#创建用户组groupadd group-test#创建文件夹mkdir /home/user-test#创建用户并指定用户组和目录useradd -g group-test -d /home/user-test/test-user1 test-u...

2018-11-07 16:30:04 194

原创 liunx基础之基础工具服务搭建

环境:centos 7.4摘要说明:本系列主要讲述liunx基础操作;本篇文章主要基于centos7来讲述liunx下常用服务如telnet等基础服务安装及使用;步骤:1.telnet(用于测试服务运行状态)许多liunx镜像默认是不安装的:安装和使用如下:# yum install telnet-server# yum install telnet# t...

2018-11-07 15:45:36 255

原创 liunx基础之基础命令合集1.3常见系统命令及其他命令补充

本篇文章主要基于centos7来讲述liunx下常用系统级命令及其他常见命令补充。

2018-11-07 14:33:15 218

oauth2.zip

Spring Cloud Oauth2实现分布式权限认证(JWT版);去中心化分布式授权中心实战实例

2019-11-20

oauth2.zip

主要讲述用授权服务(oauth2-server)、网关服务(oauth2-gateway)、应用服务(oauth2-client)实战模拟分布式权限认证;

2019-11-19

sliderverificationcode.zip

  发送短信验证码或者登录等场景操作之前都需要进行图片验证码校验或者滑块验证码校验;此举是为了减少黑盒对服务端进行暴力破解密码或者频发短信轰炸请求的操作;        但如果滑块验证完全由前端进行操作,实际上是不能很好的进行黑盒测试的防御,很容易绕过,所以在这里推出一个前后端结合滑块验证码的实例;

2019-10-24

redis连接客户端

redis连接客户端,用于实施查询,修改redis数据库的可视化数据节点,同时可以使用cli语句进行redis数据库操作

2018-11-13

空空如也

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

TA关注的人

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