自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用redis+lua脚本实现分布式接口限流

问题描述  某天A君突然发现自己的接口请求量突然涨到之前的10倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制...

2019-03-17 21:06:54 2996

原创 springboot + shiro实现帐号登录人数控制

业务场景在某些项目中可能会遇到如每个账户同时只能有一个人登录或几个人同时登录,如果同时有多人登录:要么不让后者登录;要么踢出前者登录(强制退出)。 思路Shiro没有提供默认实现,不过可以很容易的在Shiro中加入这个功能。通过Shiro Filter机制扩展自己的过滤器实现。来看看AccessControlFilterAccessControlFilter提供了访问控制的...

2019-02-19 22:51:25 2005

原创 前后端分离使用SpringBoot集成Kaptcha实现验证码功能

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码...

2019-02-16 21:57:19 4241 1

原创 了解Fork/Join框架

1. 什么是Fork/Join框架Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。我们再通过Fork和Join这两个单词来理解下Fork/Join框架,Fork就是把一个大任务切分为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结果。比如计算1+2+。。...

2019-02-13 20:28:11 184

原创 shiro使用redis实现cache管理

shiro使用redis实现cacheShiro默认整合了EhCache,来实现缓存,如果我们想用redis替换EhCache来实现缓存怎么做了?我们可以从Shiro的源码来找到一些端倪。参考代码https://github.com/gemingyi/shiro_demo先找到shiro realm类的setCacheManager()方法,可以看到传入参数CacheManage...

2019-01-27 21:53:57 3454 1

原创 Shiro整合JWT实现无状态鉴权机制(Token)

先讲一下大概步骤JWT工具类,这个在网上找的。 自定义realm,继承AuthorizingRealm,重写认证和授权两个方法 自定义filter,继承BasicHttpAuthenticationFilter 我们使用JWT,所以直接把session禁用。 重点,Redis中保存JWTToken信息(做到JWT的可控性)用户登录后,返回jwtToken(token中保存了过期时间,...

2019-01-23 19:21:17 11408 11

原创 多线程实现快速排序

上次在java吧看见吧友的面试题,回家后自己就写了一个http://tieba.baidu.com/p/5580939713?pid=118535002877&cid=0#118535002877直接上代码public class QuickSortTest {    public static void main(String[] args) {        int[] ar...

2018-12-18 22:10:24 1918 4

原创 前后端分离shiro+redis实现分布式会话(session)

在传统的前后端分离模式中,我们通常是在请求头中增加一个请求头Authorization,它的值是一串加密的信息或者密钥,在后台通过对这个请求头值的读取,获取用户的信息。而在这样的模式中,通常都是开发者自己设计的session或者加密(比如JWT)方式来读取和保存用户信息,而在shiro中,集成了权限控制和用户管理在它的session系统中,这就意味着我们只能通过他所规定的session+coo...

2018-12-05 21:33:28 7151 3

原创 redis模拟秒杀业务javademo简单实现

redis实现秒杀javademo实现 WATCH命令介绍监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。MULTI命令介绍标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。EXEC命令介绍执行所有事物块内的命令假如某个(或某些...

2018-11-15 20:10:50 1230

转载 Redis主从复制和集群环境搭建

Redis主从复制和集群配置  原文链接https://blog.csdn.net/u011204847/article/details/51307044 redis主从复制概述1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般...

2018-11-15 19:29:22 119

原创 Springboot简单介绍

Springboot入门介绍一、Spring框架概述1.1 什么是SpringSpring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的Ja...

2018-10-31 20:07:57 213314 12

原创 redis实现分布式锁

使用redis实现分布式锁使用分布式锁要满足的几个条件:1、系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现)2、共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL)3、同步访问(即有很多个进程同时访问同一个共享资源。没有同步访问,谁管你资源竞争不竞争) Redis使用分布式锁...

2018-10-28 21:53:45 146

转载 Disruptor消费者源码解读

原文链接 https://www.jianshu.com/p/f4021e8141ad之前我们已经熟悉了Disruptor的启动和事件生产操作,接下来我们一同探究Disruptor如何消费事件。0x00 概念回顾我们先回顾下Disruptor消费相关的名词概念:Event: Disruptor中传输的事件。RingBuffer: 存储和更新事件的容器。EventHandler: 用户实...

2018-10-24 19:14:50 738

转载 Disruptor生产者源码解读

原文链接 https://www.jianshu.com/p/bdeb1d027612之前我们一起分析了Disruptor的初始化和启动代码,接下来我们来分析下生产者的发布代码。还不太了解的同学建议看看我之前发的Disruptor原理翻译和导读文章,尤其是一些名词概念最好要清楚是做什么用的。1 生产者线程生产者一般就是我们的应用线程,在发布通常使用一个EventTranslator将数...

2018-10-24 19:12:49 672

原创 初识Disruptor

背景Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。目前,包括...

2018-10-24 19:09:20 155

转载 elasticsearch 安装Ik+pinyin分词配置详解

原文链接  https://blog.csdn.net/napoay/article/details/53907921https://github.com/medcl/elasticsearch-analysis-ik/releases/   ik分词器下载连接(自己选择对应版本)https://github.com/medcl/elasticsearch-analysis-pinyin/...

2018-10-22 21:01:23 567

原创 windows下安装elasticsearch

一、安装elasticsearch 1、 从官网下载ElasticSearch https://www.elastic.co/downloads/elasticsearch,下载zip。 2、 进入到C:\elasticsearch-5.3.0\bin执行elasticsearch.bat 3、打开浏览器 http://localhost:9200/   ...

2018-10-22 20:52:01 294

空空如也

空空如也

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

TA关注的人

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