大型分布式网站架构设计与实践
是夜色太荒芜
编程中最没用的东西是源代码,最有用的东西是算法和数据结构
展开
-
负载均衡算法思想
1)轮训(Round Robin)法 此算法将请求按顺序轮流的分配到后端服务器,他均衡的对待后台每一台服务器,而不关心服务器实际的连接数和当前的系统负载public class RoundRobin { private static Map<String,Integer> serverWeightMap=new HashMap<String,Integer>(); priv原创 2017-07-20 16:33:06 · 413 阅读 · 0 评论 -
ZooKeeper之zkClient使用
一、zkClient使用的原因 1)zookeeper原生API使用中,经常会遇到session expire这类异常,异常发生后需要进行重新连接,重新建立session,会比较麻烦 2)zookeeper的watcher机制是一次性的,如果你想订阅节点的状态变化、子节点变化等,每次在处理完变化事件之后,需要重新注册watcher。可想而知这是一件令人绝望的事情。这个特性使得在处原创 2017-07-23 18:36:53 · 2634 阅读 · 0 评论 -
基于Zookeeper的路由和负载均衡实现思想
一)服务注册中心思想 如上图所示,Zookeeper上的服务配置中心分成三层结构,最上面一层为根节点,用来聚集服务节点,通过他可以查询到所有的服务,而服务名称下挂载的是服务提供者的服务器地址。根节点和服务名称采用的是Zookeeper的持久节点(persistent),服务提供者的地址节点,采用的是非持久节点(ephemeral)。服务提供者在启动时,将其提供的服务名称、服务器地址,以节点(Z原创 2017-07-24 00:03:53 · 3259 阅读 · 1 评论