自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 Spring源码

本文编译的Spring源码是v5.2.x版本,jdk1.8 ,gradle6.5.1 仅供参考。用gitee从github上导入spring的源码,然后从gitee上下载源码。2.找到源码根目录 settings.gradle 文件增加国内镜像。1.进入spring源码根目录下,打开终端执行以下命令。然后就可以从gitee上面Clone到本地。2.修改idea中gradle配置。1.将项目导入idea。2.提交完重新刷新构建。

2023-12-20 15:42:39 782

原创 k8s环境搭建

k8s环境搭建资料准备修改配置1.开启root密码访问权限2.虚拟机网络配置资料准备编辑Vagrantfile 下面展示 Vagrantfile。Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "k8s-node#{i}" do |node| # 设置虚拟机的Box node.vm.box = "centos/7"

2021-07-04 12:08:44 190 1

原创 vagrant

Vagrant1.软件准备2.检查vagrant 安装是否成功3.初始化镜像4.启动5.登入入虚拟机6.修改网络配置7.重新启动8.修改ssh密码登入8.vagrant基本命令9.VirtualBox 配置1.软件准备下载 安装 Virtual Boxhttps://www.virtualbox.org/wiki/Downloads下载 安装 Vagranthttps://www.vagrantup.com/downloads2.检查vagrant 安装是否成功使用vargrant 命令出现

2021-07-03 17:45:14 205

原创 MyBatis开发流程源码解析(一)

1 .jdbc基本流程mybatis是基于jdbc进行封装的,所以我们要先熟悉jdbc基本流程2 .MyBatis开发流程2.1MyBatis基本调用流程2.2 核心配置文件MyBatis-config.xml2.3 SQL映射文件3 .MyBatis开发流程源码解析3.1读取MyBatis核心配置文件流3.2.通过SqlSessionFactoryBuilder.buil...

2019-09-19 11:17:07 187

原创 SpringSecurity+SpringSocial 实现QQ登入(二)

SpringSecurity+SpringSocial 实现QQ登入(二)上节我们已经把基本代码写完,接着就是通过配置将其串联起来配置文件编写由于SpringBoot 1 跟SpringBoot2 有区别此处使用SpringBoot2QQAutoConfigSocialConfig当配置完后,...

2019-09-12 15:32:15 546

原创 SpringSecurity+SpringSocial 实现QQ登入(一)

1.原理Social实现QQ登入符合Oauth2协议,基本步骤如上图,步骤1-5都是固定的(Social已经封装好),步骤6获取的用户信息各不相同需要自定义,步骤7就是我们的登入原理了。接着通过SocialAuthenticationFilter加入过滤器链中下面是我们需要实现的:2. 代码开发api编写public interface QQ { QQUserInfo ge...

2019-09-12 15:09:38 641

原创 SpringSecurity短信验证码及图片验证码代码优化

1、优化思路上节将到的短信验证码,图片验证码整个思路基本一样,代码也差不多,这节我们对相同的代码进行抽取处理,整个思路如下:ValidateCodeController 来接收验证码请求,通过参数type来区分,ValidateCodeProcessor 用来处理(交给子类),AbstractValidateCodeProcessor抽象类主要把生成验证码的通用步骤抽取出来,1.生成验证码 ...

2019-09-06 17:03:48 223

原创 SpringSecurity短信登入

1.原理通过之前的分析我们理解了密码登入的整个逻辑,短信验证码登入参考密码登入根据原理我们构建对应的类2.步骤构建SmsAuthenticationToken ,参照UsernamePasswordAuthenticationTokenpublic class SmsAuthenticationToken extends AbstractAuthenticationToken {...

2019-09-06 11:13:34 277 1

原创 SpringSecurity短信验证码

1.原理短信验证码跟上面见得图片验证码一样,代码基本可以copy过来2.步骤1.获取短信请求2.编写过滤器3.配置过滤器

2019-09-06 10:39:20 133

原创 SpringSecurity记住我功能

1.配置SpringfSecurity已经做好了记住我功能,我我们只需要做个简单配置即可,前端传递的参数 name="remember-me"后端配置,userDetailsService用来查询用户信息,persistentTokenRepository保存用户标识2.原理3.源码分析1.用户登入成功后,将信息保存到数据库2.再次请求...

2019-09-05 20:10:26 860

原创 SpringSecurity图片验证码

1.原理SpringfSecurity主要是通过一系列filter来进行处理的,图片校验也类似,在登入前添加一个图片过滤器2.步骤获取图片请求编写过滤器3.配置过滤器...

2019-09-05 19:43:45 111

原创 SpringSecurity基本原理

1.请求过程2.过滤器1.UsernamePasswordAuthenticationFilter处理表单登入过滤器2.BasicAuthenticationFilter处理httpBasic请求3.ExceptionTranslationFilter对过滤器链做异常处理4.FilterSecurityInterceptor过滤器链最后的一个拦截器3 基本配置...

2019-09-03 20:21:29 134

原创 SpringSecurity认证流程源码详解

一、认证处理流程说明原理图1.用户输入完用户密码后 usernamePasswordAuthenticationFilter构建一个未认证的token

2019-09-03 20:20:29 227

转载 spring boot 拦截 以及Filter和interceptor 、Aspect区别

https://blog.csdn.net/weixin_38704338/article/details/81285377

2019-07-25 20:10:49 326

原创 CentOS下安装mysql 5.7

据说centos7没有mysql 的yum源,于是就直接从网上下载mysql的repo源(这个玩意目前还没仔细探究是什么东西,在centos里面应该会涉及到),使用wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 从网上下载这个rpm包(这里wget 命令是从网络上下载文件的命令一般的格式为wget +ur...

2019-05-04 22:09:47 98

原创 年,月,日相关的sql总结

1.此处涉及到多个日期函数根据创建时间按照年月日分组 SELECT * FROM user GROUP BY DATE_FORMAT(create_time,'%Y%u%d');根据年(2901)查询 统计每个月数据SELECT COUNT(1) COUNT ,DATE_FORMAT(create_time,'%Y-%m') TIME FROM user WHERE DATE_...

2019-03-17 22:22:58 181

原创 storm集群部署

一、提交作业到storm集群来运行1、安装Java 和 Pythong2、下载storm安装包,解压缩,重命名,配置环境变量vim /etc/profile#stormexport STORM_HOME=/usr/local/stormexport PATH=$PATH:$STORM_HOME/binsource /etc/profile 3、修改storm配置文件(每个节点都...

2019-02-24 17:47:52 146

原创 最通俗易懂Storm教程

一、Storm到底是什么?1、mysql,hadoop与stormmysql:事务性系统,面临海量数据的尴尬hadoop:离线批处理storm:实时计算2、storm的特点是什么?(1)支撑各种实时类的项目场景:实时处理消息以及更新数据库,基于最基础的实时计算语义和API(实时数据处理领域);对实时的数据流持续的进行查询或计算,同时将最新的计算结果持续的推送给客户端展示,同样基于最基础...

2019-02-24 17:10:08 441

原创 nginx基于lua语言进行开发

注:按照上一讲讲解的内容,基于OpenResty在另外两台机器上都部署一下nginx+lua的开发环境,192.168.25.103和192.168.25.104上都部署好了,这边的话呢,是打算用192.168.25.103和192.168.25.104作为应用层nginx服务器,用192.168.25.102作为分发层nginx,在192.168.25.102,也就是分发层nginx中,编写l...

2019-02-03 12:32:24 3426

原创 nginx的应用

注:部署应用层nginx,会采用OpenResty的方式去部署nginx,而且会带着大家写一个nginx+lua开发的一个hello world1、部署第一个nginx,作为应用层nginx(192.168.25.102那个机器上)(1)部署openresty 1.mkdir -p /usr/servers 2.cd /usr/servers/ 3.yum install -y re...

2019-02-02 20:32:21 192

原创 kafka集群搭建

1.安装scala1、将scala-2.11.4.tgz拷贝到spark1的/usr/local目录下。2、对scala-2.11.4.tgz进行解压缩:tar -zxvf scala-2.11.4.tgz。3、对scala目录进行重命名:mv scala-2.11.4 scala4、配置scala相关的环境变量 vim /etc/profileexport PATH=$PATH:/u...

2019-02-02 11:27:01 214

原创 zookeeper集群搭建

安装步骤:第一步:安装jdk第二步:把zookeeper的压缩包上传到linux系统。第三步:解压缩压缩包tar -zxvf zookeeper-3.4.6.tar.gz 重命名:mv zookeeper-3.4.5 zk配置zookeeper相关的环境变量(可以不配置)vim /etc/profile 末尾加上export PATH=$PATH:/usr/local/zk...

2019-01-28 17:53:17 106

原创 缓存的技术方案分析

1.数据库与缓存双写,数据不一致的问题1.最初级的缓存不一致问题以及解决方案问题:先修改数据库,再删除缓存,如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据出现不一致解决思路:先删除缓存,再修改数据库,如果删除缓存成功了,如果修改数据库失败了,那么数据库中是旧数据,缓存中是空的,那么数据不会不一致,因为读的时候缓存没有,则读数据库中旧数据,然后更新到缓存中2、比较...

2019-01-17 09:34:20 363

原创 安装mysql

1.先安装mysql服务yum install -y mysql-server2.开启服务service mysqld start3.设置开机启动chkconfig mysqld on4.安装mysql客服端yum install -y mysql-connector-java

2019-01-07 16:49:20 85

原创 redis总结

之前几张redis主讲:持久化、复制(主从架构)、哨兵(高可用,主备切换)、redis cluster(海量数据+横向扩容+高可用/主备切换)1.持久化:高可用的一部分,在发生redis集群灾难的情况下(比如说部分master+slave全部死掉了),如何快速进行数据恢复,快速实现服务可用,才能实现整个系统的高可用2.复制:主从架构,master -> slave 复制,读写分离的架构,...

2019-01-07 15:11:13 100

原创 redis的底层原理及其优化策略

一、节点间的内部通信机制1、基础通信原理(1)redis cluster节点间采取gossip协议进行通信跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在某个节点上,而是互相之间不断通信,保持整个集群所有节点的数据是完整的维护集群的元数据用得,集中式,一种叫做gossip集中式:好处在于,元数据的更新和读取,时效性非常好,一旦元数据出现了变更,立即就更新到集中式的存储中,...

2018-12-28 20:00:52 8218

原创 redis cluster集群搭建

1、redis cluster的重要配置cluster-enabled <yes/no>cluster-config-file <filename&amp

2018-12-22 18:28:46 265

原创 redis cluster介绍

redis cluster介绍1.支撑N个redis master node,每个master node都可以挂载多个slave node2.读写分离的架构,对于每个master来说,写就写到master,然后读就从mater对应的slave去读3.高可用,因为每个master都有salve节点,那么如果mater挂掉,redis cluster这套机制,就会自动将某个slave切换成mas...

2018-12-18 19:48:13 542

原创 哨兵操作及容灾演练

1、哨兵节点的增加和删除增加sentinal,会自动发现(安装上一节的操作即可)删除删除sentinal的步骤(1)停止sentinal进程(kill -9 )(2)SENTINEL RESET *,在所有sentinal上执行,清理所有的master状态(3)SENTINEL MASTER mastername,在所有sentinal上执行,查看所有sentinal对数量是否达成了一...

2018-12-16 16:19:09 341

原创 Redis哨兵实例搭建

1、哨兵的配置文件(sentinel.conf)每一个哨兵都可以去监控多个maser-slaves的主从架构,因为可能你的公司里,为不同的项目,部署了多个master-slaves的redis主从集群,相同的一套哨兵集群,就可以去监控不同的多个redis主从集群,你自己给每个redis主从集群分配一个逻辑的名称sentinel monitor mymaster 127.0.0.1 6379 2...

2018-12-16 14:00:10 411

原创 Redis哨兵的详解

1、哨兵的介绍sentinal,中文名是哨兵,哨兵是redis集群架构中非常重要的一个组件,主要功能如下:(1)集群监控,负责监控redis master和slave进程是否正常工作(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员(3)故障转移,如果master node挂掉了,会自动转移到slave node上(4)配置中心,如果故障转移发生了,通...

2018-12-12 15:29:53 1340

原创 reids集群搭建

目标: 一主一从,往主节点去写,在从节点去读,可以读到,主从架构就搭建成功了1、启用复制,部署slave node(参照单机版redis的搭建)注意一下:在slave node上配置:slaveof 192.168.1.1 6379,即可2、强制读写分离基于主从复制架构,实现读写分离,redis slave node只读,默认开启,slave-read-only,开启了只读的redis...

2018-12-10 20:11:06 189

原创 redis 主从架构剖析

图解redis replication基本原理redis replication的核心机制(1)redis采用异步方式复制数据到slave节点,不过redis 2.8开始,slave node会周期性地确认自己每次复制的数据量(2)一个master node是可以配置多个slave node的(3)slave node也可以连接其他的slave node(4)slave node做复制...

2018-12-05 11:00:53 2244

原创 Redis企业级数据备份

企业级的持久化的配置策略在企业中,RDB的生成策略,用默认的也差不多save 60 10000:如果你希望尽可能确保说,RDB最多丢1分钟的数据,那么尽量就是每隔1分钟都生成一个快照,低峰期,数据量很少,也没必要10000->生成RDB,1000->RDB,这个根据你自己的应用和业务的数据量,你自己去决定AOF一定要打开,fsync,everysecauto-aof-rewr...

2018-12-04 10:19:56 357

原创 Redis配置AOF持久化机制

AOF持久化的配置AOF持久化,默认是关闭的,默认是打开RDB持久化appendonly yes,可以打开AOF持久化机制,在生产环境里面,一般来说AOF都是要打开的,除非你说随便丢个几分钟的数据也无所谓打开AOF持久化机制之后,redis每次接收到一条写命令,就会写入日志文件中,当然是先写入os cache的,然后每隔一定时间再fsync一下而且即使AOF和RDB都开启了,redis重启...

2018-12-02 18:18:53 1086

原创 Redis配置RDB持久化机制

如何配置RDB持久化机制(1) redis.conf文件,也就是/etc/redis/6379.conf,去配置持久化(2) save 60 1000 (每隔60s,如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,就是当前redis内存中完整的数据快照,这个操作也被称之为snapshotting,快照(3) 也可以手动调用save或者bgsave命令,同步或异...

2018-12-02 16:16:11 623

原创 redis持久化方案:RDB和AOF

简介:redis持久化主要是做灾难恢复,数据恢复redis持久化:RDB,AOFRDB和AOF两种持久化机制的介绍1.RDB持久化机制,对redis中的数据执行周期性的持久化(每隔指定的时间以快照的形式存储到文件当中,存储的是数据文件)2.AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新...

2018-12-02 14:01:41 210

原创 单机版redis

1.安装单机版redis (安装在/usr/local)wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gzcd /usr/local/tcl8.6.1/unix/./configure make && make install使用re...

2018-11-30 15:02:01 151

原创 Spring Boot 打成war包以及打成jar包方法

一.打成war包1.修改pom.xml中的jar为war <groupId>com.hua</groupId> <artifactId>miaosha</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</pack

2018-11-10 14:16:46 2668

原创 Hadoop运行模式之完全分布式部署Hadoop

Hadoop运行模式之完全分布式部署Hadoop1 完全分布式部署Hadoop分析: 1)准备3台客户机(关闭防火墙、静态ip、主机名称) 2)安装jdk 3)配置环境变量 4)安装hadoop 5)配置环境变量 6)安装ssh 7)配置集群 8)启动测试集群1.1 虚拟机准备 详见之前章节。1.2 主机名...

2018-08-21 19:04:15 423

空空如也

空空如也

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

TA关注的人

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