- 博客(14)
- 收藏
- 关注
原创 zookeeper选举流程简述
zookeeper选举流程简述(fast-paxos)目前有5台服务器,每台服务器均没有数据,它们的编号分别是1,2,3,4,5,按编号依次启动,它们的选择举过程如下:服务器1启动,给自己投票,然后发投票信息,由于其它机器还没有启动所以它收不到反馈信息,服务器1的状态一直属于Looking。服务器2启动,给自己投票,同时与之前启动的服务器1交换结果,由于服务器2的编号大所以服务器2胜出,但此时投票...
2018-05-28 18:25:16 879
原创 ZooKeeper的工作原理
Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。为了保证事务...
2018-05-26 17:01:39 158
原创 SSO单点登录流程
SSO单点登录流程:1.当用户第一次登陆时,先通过SSO单点登录系统进行登录操作.2.根据用户信息查询用户数据验证登录是否有效3.如果用户名和密码都正确,则生成ticket.并将User对象转化为JSON数据4.将ticket和UserJSON数据写入redis缓存中5.当用户登陆成功后,在cookie保存ticket信息.6.当用户再次访问前台系统时,首先根据ticket信息,查询redis缓存...
2018-05-26 15:34:03 7427 1
原创 Redis简介
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与...
2018-05-24 17:03:06 154
原创 Shiro配置文件
一、修改web.xml<!-- spring整合shiro安全框架 --><filter> <filter-name>DelegatingFilterProxy</filter-name> <filter-class>org.springframework.web.filter.DelegatingFil...
2018-05-24 16:15:47 934
原创 Shiro 认证流程
具体流程分析如下: 1、首先调用Subject.login(token)进行登录,其会自动委托给Security Manager,调用之前必须通过SecurityUtils. setSecurityManager()设置;2、SecurityManager负责真正的身份验证逻辑;它会委托给Authenticator进行身份验证;3、Authenticator才是真正的身份验证者,Shiro API...
2018-05-24 16:06:24 166
原创 Shiro安全框架
一、Shiro概述Shiro是apache旗下一个开源安全框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架,使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。二、Shiro基本架构通过Shiro框架进行权限管理时,要涉及到的一些核心对象,主要包括:认证管理对象,授权管理对象,会话管理对象,缓存管理对...
2018-05-23 18:27:25 156
原创 权限管理简介
权限管理属于系统安全的范畴,是实现对用户访问系统的控制,可以按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。一、认证流程关键术语:Subject:主体(被要求认证和授权管理的主体) 访问系统的用户,主体可以是用户、程序等,进行...
2018-05-23 18:21:34 4195 2
原创 SSO单点登录
SSO(SingleSign On)流行的业务整合解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。分布部署时,有多个tomcat,假设用户从tomcat1登录,那它的登录信息是记录在tomcat1上的。如果用户请求业务,有可能就被分发到tomcat2上,这时tomcat2上并未登录,这时应该如何处理呢?我们要做到,不管用户在哪个tomcat上登录。...
2018-05-23 16:56:01 414
原创 Session共享的解决办法
问题的由来:访问一个网站时,有两类请求。一种请求叫做无状态的请求,一种请求叫做有状态。无状态,例如:登录页面,类似这种页面,哪个tomcat给我们响应都是一样的,不需要区分。这是我们最喜欢的。集群的动态伸缩性(增加节点,移除节点)。有状态,例如:系统登录后,假如用户的请求被转发到tomcat1上,这时系统会写一个当前用户的信息放入session中。这种情况就称为有状态的,问题就来了。nginx负载...
2018-05-23 16:32:48 9560 1
原创 Ngnix:负载均衡策略
提供5种负载均衡策略:l 轮询:每个请求按时间顺序轮流分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。l 权重:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。l IP_HASH:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,针对解决session共享问题。l URL_HASH(第三方):访问url的hash结果来分配请求,...
2018-05-23 15:52:42 393
原创 Ngnix:反向代理
和日常我们上网不同,在公司我们上网时,不是所有电脑直接访问外网,而是访问一个代理服务器,由代理服务器再访问我们要访问的网站,代理服务器获得访问网站的返回信息后,再返回给我们。这种代理我们的电脑的方式叫做正向代理。 而nginx不同,它实现也是代理,但是代理的后台服务器,我们访问nginx,而nginx代理后面的服务器,由它去决定具体访问哪台服务器。这种方式和正向代理刚好反过来,所以...
2018-05-23 15:42:59 544
原创 大数据相关技术核心点
1.Flume:Agent(代理)2.hdfs:NameNode(名字节点)3.MapReduce:shuffle机制4.hive:Hql5.kafka:broker6.storm:topology7.spark:RDD扩展:spark是专门用于大数据量下的迭代式计算.是为了跟 Hadoop 配合而开发出来的...
2018-05-23 11:05:42 353
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人