Zookeeper 安装和配置
Zookeeper的安装和配置十分简单,既可以配置成单机模式,也可以配置成集群模式。单机模式点击这里下载zookeeper的安装包或wget方式下载,然后解压并拷贝到合适目录,进入zookeeper目录下的conf子目录:# wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz# tar zxvf zookeep...
zookeeper学习之三(Curator客户端)
Curator框架是最好用,最流行的zookeeper的客户端。它有以下三个优点1.提供了一套非常友好的操作API;2. 提供一些高级特性(包括但不仅限于前篇文章中提到的)的封装3.易测试 maven依赖如下 Xml代码 &...
分布式集群系统下---cache共享
6133人阅读
分布式集群系统下的高可用session解决方案---Session共享
Apache Shiro集群要解决2个问题,一个是session的共享问题,一个是授权信息的cache共享问题,官网给的例子是Ehcache的实现,在配置说明上不算很详细,我这里用nosql(redis)替代了ehcache做了session和cache的存储。shiro spring的默认配置(单机,非集群)[html] view plain&n...
分布式集群系统下的高可用session解决方案
目前,为了使web能适应大规模的访问,需要实现应用的集群部署. 而实现集群部署首先要解决session的统一,即需要实现session的共享机制。 目前,在集群系统下实现session统一的有如下几种方案:(1) 应用服务器间的session复制共享(如tomcat session共享)(2) 基于...
shiro授权(Authentication)--访问控制
授权(Authorization)也叫做访问控制,是一个对资源的访问进行管理的过程,也就是说在应用程序汇总,谁有怎样的权限(用户可以看到什么内容,可以进行什么操作)。 在ITOO项目中,首先是考虑基于角色的授权,当用户的角色发生变化的时候,不灵活,所以为了更好的结合项目的实...
shiro身份认证(Shiro Authentication)
一、术语介绍Authentication:身份认证,即用户提供一些信息来证明自己的身份。如用户名和密码,licence等。Principals :主体的“标识属性”,可以是任意标识,例如用户名,身份证号码,手机号码等。Principals可以有多个,但是必须有一个主要的Principal(Primary Principal),这个标识,必须是唯一的。C...
shiro 的INI配置
一、概述INI配置文件是一种key/value的键值对配置,提供了分类的概念,每一个类中的key不可重复。在这个示例中我们使用一个INI文件来配置Shiro SecurityManager,首先,在pom.xml同目录中创建一个src/main/resources子目录,在该子目录中创建一个shiro.ini文件,内容如下:例如:# ========...
shiro入门知识介绍
今天我们先来介绍shiro的基本概念一、shiro功能介绍Authentication:身份认证/登录Authorization:验证权限,即,验证某个人是否有做某件事的权限。Session Management:会话管理。管理用户特定的会话,支持web,非web,ejb。Cryptography: 加密,保证数据安全...
Spring中集成RMI(远程方法调用)
Spring有多种调用远程的方式,今天学习了一下远程方法调用(RMI)。RMI需要服务端和客户端现在介绍下如何在Spring中集成RMI。首先看下实例程序目录结构:Spring中发布RMI服务(ZLv_RMIServerWithSpring):(1) 定义接口MessageProvider及接口中供调用的方法(MessageProvider.jav...
Hessian入门(与Spring集成)
Hessian像RMI一样,使用二进制消息进行客户端和服务端的交互,它的二进制消息可以移植到其他非Java的语言中包括PHP、Python、C++和C#。因为Hessian是基于HTTP的,所以HessianSeriviceExporter实现为一个Spring MVC控制器。HessianSeriviceExporter是一个SpringMVC控制器,它可以接收Hessian请求,并将这些请求翻...
各种线程池实现,pool
列举几种线程池实现:【1】ExecutorServicehttp://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ExecutorService.html【2】ScheduledExecutorServicehttp://www.gznc.edu.cn/yxsz/jjglxy/book/Java_api/java/util/concurrent/ScheduledExecutorService.html【3】ThreadPoolExecu...
Spring分布式事务实现
分布式事务是指操作多个数据库之间的事务,spring的org.springframework.transaction.jta.JtaTransactionManager,提供了分布式事务支持。如果使用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。 在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jot...
由12306.cn谈谈网站性能技术
12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开的功能性的东...
java之redis篇(spring-data-redis整合)
redis的知识:官网1,利用spring-data-redis整合项目使用的pom.xml:点击(此处)折叠或打开<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca...
Java多线程Queue总结
Java多线程Queue总结今天就聊聊这两种Queue,本文分为以下两个部分,用分割线分开: BlockingQueueConcurrentLinkedQueue,非阻塞算法首先来看看BlockingQueue: Queue是什么就不需要多说了吧,一句话:队列是先进先出。相对的,栈是后进先出。如果不熟悉的话先找本基础的数据...
并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线...
为什么要使用线程池
在Java中,如果每当一个请求到达就创建一个新线程,开销是相当大的。在实际使用中,每个请求创建新线程的服务器在创建和销毁线程上花费的时间和消耗的系统资源,甚至可能要比花在处理实际的用户请求的时间和资源要多得多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个JVM里创建太多的线程,可...
maven 建立本地仓库
这一个章节,分两部分来介绍,首先介绍一下 Maven 的仓库,然后再说一下如何通过 Nexus 来建立我们自己的仓库,以及如何使用。Maven 仓库在以前使用 Ant 的时候,我们会建立一个 lib 目录存放我们的 jar 包,比如项目所依赖的第三方包,每建立一个项...
HttpClient4.X 升级 入门 + http连接池使用
转载地址:http://blog.csdn.net/shootyou/archive/2011/05/12/6415248.aspx 在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection没有连接池的概念,多少次请求就会建立...