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

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

2019-03-17 21:06:54

阅读数 452

评论数 0

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

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

2019-02-19 22:51:25

阅读数 325

评论数 0

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

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、...

2019-02-16 21:57:19

阅读数 372

评论数 1

了解Fork/Join框架

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

2019-02-13 20:28:11

阅读数 30

评论数 0

shiro使用redis实现cache管理

shiro使用redis实现cache Shiro默认整合了EhCache,来实现缓存,如果我们想用redis替换EhCache来实现缓存怎么做了?我们可以从Shiro的源码来找到一些端倪。 参考代码 https://github.com/gemingyi/shiro_demo 先找到s...

2019-01-27 21:53:57

阅读数 692

评论数 1

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

先讲一下大概步骤 JWT工具类,这个在网上找的。 自定义realm,继承AuthorizingRealm,重写认证和授权两个方法 自定义filter,继承BasicHttpAuthenticationFilter 我们使用JWT,所以直接把session禁用。 重点,Redis中保存JW...

2019-01-23 19:21:17

阅读数 1340

评论数 0

多线程实现快速排序

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

2018-12-18 22:10:24

阅读数 347

评论数 4

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

在传统的前后端分离模式中,我们通常是在请求头中增加一个请求头Authorization,它的值是一串加密的信息或者密钥,在后台通过对这个请求头值的读取,获取用户的信息。 而在这样的模式中,通常都是开发者自己设计的session或者加密(比如JWT)方式来读取和保存用户信息,而在shiro中,集成...

2018-12-05 21:33:28

阅读数 2425

评论数 3

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

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

2018-11-15 20:10:50

阅读数 301

评论数 0

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

Redis主从复制和集群配置     原文链接https://blog.csdn.net/u011204847/article/details/51307044   redis主从复制 概述 1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据...

2018-11-15 19:29:22

阅读数 29

评论数 0

Springboot简单介绍

Springboot入门介绍 一、Spring框架概述 1.1 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and ...

2018-10-31 20:07:57

阅读数 14389

评论数 1

redis实现分布式锁

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

2018-10-28 21:53:45

阅读数 42

评论数 0

Disruptor消费者源码解读

原文链接 https://www.jianshu.com/p/f4021e8141ad 之前我们已经熟悉了Disruptor的启动和事件生产操作,接下来我们一同探究Disruptor如何消费事件。 0x00 概念回顾 我们先回顾下Disruptor消费相关的名词概念:Event: Disru...

2018-10-24 19:14:50

阅读数 66

评论数 0

Disruptor生产者源码解读

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

2018-10-24 19:12:49

阅读数 178

评论数 0

初识Disruptor

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

2018-10-24 19:09:20

阅读数 31

评论数 0

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

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

2018-10-22 21:01:23

阅读数 64

评论数 0

windows下安装elasticsearch

一、安装elasticsearch   1、 从官网下载ElasticSearch https://www.elastic.co/downloads/elasticsearch,下载zip。   2、 进入到C:\elasticsearch-5.3.0\bin执行elasticsearch...

2018-10-22 20:52:01

阅读数 63

评论数 0

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