一、背景   我们在开发的过程中使用分页是不可避免的,通常情况下我们的做法是使用limit加偏移量:select * from table where column=xxx order by xxx limit 1,20。当数据量比较小...
阅读(4) 评论(0)
请注意,此篇文章并不是介绍Zookeeper集群内部Leader的选举机制,而是应用程序使用Zookeeper作为选举。 使用Zookeeper进行选举,主要用到了Znode的两个性质: 临时节点(EPHEMERAL) 序列化节点(S...
阅读(14) 评论(0)
为了在Zookeeper中实现分布式队列,首先需要设计一个znode来存放数据,这个节点叫做队列节点,我们的例子中这个节点是/zookeeper/queue。 生产者向队列中存放数据,每一个消息都是队列节点下的一个新节点,叫做消息节...
阅读(20) 评论(0)
Zookeeper应用之——栅栏(barrier) 栅栏(barrier)简介 barrier的作用是所有的线程等待,知道某一时刻,锁释放,所有的线程同时执行。举一个生动的例子,比如跑步比赛,所有 运动员都要在起跑线上等待,直到枪声响后...
阅读(14) 评论(0)
Eureka服务注册中心 一、Eureka Server Eureka Server是服务的注册中心,这是分布式服务的基础,我们看看这一部分如何搭建。 首先,Spring Cloud是基于Spring Boot的,所以我们的项目都是Sp...
阅读(26) 评论(0)
Spring Security实现RBAC权限管理 一、简介 在企业应用中,认证和授权是非常重要的一部分内容,业界最出名的两个框架就是大名鼎鼎的 Shiro和Spring Security。由于Spring Boot非常的流行,选择Sp...
阅读(35) 评论(0)
Redis分布式锁的try-with-resources实现 一、简介 在当今这个时代,单体应用(standalone)已经很少了,java提供的synchronized已经不能满足需求,大家自然 而然的想到了分布式锁。谈到分布式锁,比...
阅读(23) 评论(0)
String是值传递还是引用传递 今天上班时,同事发现了一个比较有意思的问题。他把一个String类型的参数传入方法,并在方法内改变了引用的值。 然后他在方法外使用这个值,发现这个String还是之前的值,并没有改变。 这里要向大家介绍...
阅读(40) 评论(0)
CAS与OAuth2的区别 一、   CAS的单点登录时保障客户端的用户资源的安全 。   OAuth2则是保障服务端的用户资源的安全 。 二、   CAS客户端要获取的最终信息是,这个用户到底有没有权限访问我(CAS客户端)的资源。...
阅读(23) 评论(0)
Spring Cloud 服务端注册与客户端调用   上一篇中,我们已经把Spring Cloud的服务注册中心Eureka搭建起来了,这一章,我们讲解如何将服务注册到Eureka,以及客户端如何调用服务。 一、注册服务   首先要再项...
阅读(207) 评论(0)
Spring Cloud Config(配置中心)   大家好,有一段时间没有写技术博客了。由于工作上的事情,这方面很难分配时间。近几年随着服务化的兴起,一批服务化的框架应运而生,像dubbo,thrift,spring-cloud等。...
阅读(35) 评论(0)
Spring Mobile——探测客户端设备和系统   今天闲来无事,浏览Spring的官方网站,发现了Spring Mobile项目,之前也看到过,还以为是针对手机端的项目,并没有细看。今天仔细看了一下,原来是可以探测请求端的设备和系...
阅读(38) 评论(0)
JAVA9模块化详解 前言 java9已经出来有一段时间了,今天向大家介绍一下java9的一个重要特性——模块化。模块化系统的主要目的如下: 更可靠的配置,通过制定明确的类的依赖关系代替以前那种易错的类路径(class-path)加载...
阅读(95) 评论(0)
一、概述   在我们的系统中,很多时候都用到了权限。最简单的权限就是登录。登录了,我就可以自己的相关信息;没有登录,就不能看到。   目前比较流行的权限框架就是apache shiro和spring security,大家在选择时比较青...
阅读(83) 评论(0)