
分布式应用:Redis的单机集群解决方案
在分布式应用中,Redis是一种有力的缓存解决方案,它提供了更高的可用性,可以应对大量数据并发访问。虽然Redis可以实现高可用性,但当应用极度依赖它作为数据存储时,仍然存在单点故障的风险,这里就介绍一种基于Redis的单机集群解决方案。
Redis的单机集群解决方案是通过主从复制的方式,将主 服务器 的数据实时复制到从服务器上,来做到高可用。这里,我们假设有两台主机A,B,A为主服务器,B为从服务器。关于如何将主服务器的数据同步到从服务器,通常使用Redis内置的主从复制协议:
主服务器:

127.0.0.1:6379> SLAVEOF 192.168.0.1 6379
从服务器:
192.168.0.1:6379> SLAVEOF 127.0.0.1 6379
这样,Redis就可以实现主从复制,保证在服务器A出现故障时,可以将从服务器B立即提升为主服务器,继续提供服务,而不影响应用使用。
除了使用Redis的内置主从复制外,还有应用程序层面的解决方案,如使用HAProxy,实现多个实例的负载均衡,其中一个Redis实例出现故障,可以让HAProxy立即将负载切换到其他实例。这里提供一个例子:
haproxy.cfg:
listen redis
bind *:6379
balance roundrobin
option tcpka
server redis01 localhost:6379 check inter 1000
server redis02 localhost:6380 check inter 1000
上面的代码实现了两个Redis实例的负载均衡,任何一个Redis实例发生故障,HAProxy将自动切换负载到其他实例,达到高可用的目的。
本文介绍了使用Redis单机集群解决方案来实现高可用,采用内置的主从复制或应用程序层面的解决方案(如使用HAProxy)同样可以达到高可用的目的。分布式应用中失去数据是最糟糕的,使用正确的解决方案进行可用性保证,可以减少此类风险,确保应用服务正常运行。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
对称加密和非对称加密的区别是什么?
l 对称加密算法对称加密算法是应用较早的加密算法,技术成熟。 在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。 收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。 在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。 对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。 不足之处是,交易双方都使用同样钥匙,安全性得不到保证。 此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。 对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。 在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。 传统的DES由于只有56位的密钥,因此已经不适应当今分布式开放网络对数据加密安全性的要求。 1997年RSA数据安全公司发起了一项“DES挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位密钥DES算法加密的密文。 即DES加密算法在计算机速度提升后的今天被认为是不安全的。 AES是美国联邦政府采用的商业及政府数据加密标准,预计将在未来几十年里代替DES在各个领域中得到广泛应用。 AES提供128位密钥,因此,128位AES的加密强度是56位DES加密强度的1021倍还多。 假设可以制造一部可以在1秒内破解DES密码的机器,那么使用这台机器破解一个128位AES密码需要大约149亿万年的时间。 (更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,美国国家标准局倡导的AES即将作为新标准取代DES。 l 不对称加密算法不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—公钥和私钥。 在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。 加密明文时采用公钥加密,解密密文时使用私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。 不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。 显然,采用不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的公钥送给发信方,而自己保留私钥。 由于不对称算法拥有两个密钥,因而特别适用于分布式系统中的数据加密。 广泛应用的不对称加密算法有RSA算法和美国国家标准局提出的DSA。 以不对称加密算法为基础的加密技术应用非常广泛。

太网和FDDI网的工作原理和数据传输过程
以太网CSMA/CD载波监听/冲突检测,属于计算机网络以太网的工作类型,即在总线上不段的发出信号去探测线路是否空闲,如果不空闲则随机等待一定时间,在继续探测。 直到发出型号为止。 CSMA/CD工作原理 :在EThernet中,传送信息是以“包”为单位的,简称信包。 在总线上如果某个工作站有信包要发送,它在向总线上发送信包之前,先检测一下总线是“忙”还是“空闲”,如果检测的结果是“忙”,则发送站会随机延迟一段时间,再次去检测总线,若这时检测总线是“空闲”,这时就可以发送信包了。 而且在信包的发送过程中,发送站还要检测其发到总线上的信包是否与其它站点的信包产生了冲突,当发送站一旦检测到产生冲突,它就立即放弃本次发送,并向总线上发出一串干扰串(发出干扰串的目的是让那些可能参与碰撞但尚未感知到冲突的结点,能够明显的感知,也就相当于增强冲突信号),总线上的各站点收到此干扰串后,则放弃发送,并且所有发生冲突的结点都将按一种退避算法等待一段随机的时间,然后重新竞争发送。 从以上叙述可以看出,CSMA/CD的工作原理可用四个字来表示:“边听边说”,即一边发送数据,一边检测是否产生冲突FDDI令牌环网的结构是组成一个环形,环形的一圈是主机,主机中存在一个令牌,由一号机向下传,每个主机只有在自已有令牌时才能向主线路中发数据。 1、令牌环网是一种以环形网络拓扑结构为基础发展起来的局域网。 虽然它在物理组成上也可以是星型结构连接,但在逻辑上仍然以环的方式进行工作。 其通信传输介质可以是无屏蔽双绞线、屏蔽双绞线和光纤等。 令牌环网的媒体接入控制机制采用的是分布式控制模式的循环方法。 在令牌环网中有一个令牌(Token)沿着环形总线在入网节点计算机间依次传递,令牌实际上是一个特殊格式的帧,本身并不包含信息,仅控制信道的使用,确保在同一时刻只有一个节点能够独占信道。 当环上节点都空闲时,令牌绕环行进。 节点计算机只有取得令牌后才能发送数据帧,因此不会发生碰撞。 由于令牌在网环上是按顺序依次传递的,因此对所有入网计算机而言,访问权是公平的。 令牌在工作中有“闲”和“忙”两种状态。 “闲”表示令牌没有被占用,即网中没有计算机在传送信息;“忙”表示令牌已被占用,即网中有信息正在传送。 希望传送数据的计算机必须首先检测到“闲”令牌,将它置为“忙”的状态,然后在该令牌后面传送数据。 当所传数据被目的节点计算机接收后,数据被从网中除去,令牌被重新置为“闲”。 令牌环网的缺点是需要维护令牌,一旦失去令牌就无法工作,需要选择专门的节点监视和管理令牌。
redis可以存储websocket session对象吗
集群web系统的话,可以通过第三方缓存来统一实现session管理。 如果使用spring的话,可以通过session listener来监听session的变化,实现起来比较方便。 不建议把Session存储起来可以考虑用Redis模拟session,特别是分布式环境,比如多台web serve(如tomcat)r的情况下
发表评论