分布式
二十六画生的博客
国内Top5硕士,先后在京东、字节从事多年后端开发、大数据开发。
展开
-
分布式中的一致性模型
分布式中的一致性模型进行数据复制主要出于两个目的:可靠性和性能。数据一旦被复制,就会带来一致性的问题。 以数据为中心的一致性模型1.严格一致性(strict consistency)对于数据项x的任何读操作将返回最近一次对x进行写操作的结果所对应的值。严格一致性是限制性最强的模型,但是在分布式系统中实现这种模型代价太大,所以在实际系统中运用有限。 2.顺序一致性转载 2016-06-21 09:14:19 · 2049 阅读 · 0 评论 -
Dubbo架构中Zookeeper担任注册中心
Zookeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心。服务生产者将自己提供的服务注册到Zookeeper中心,服务的消费者在进行服务调用的时候先到Zookeeper中查找服务,获取到服务生产者的详细信息之后进行订阅,再去调用服务生产者的服务。如下图所示,在 Dubbo架构中 Zookeeper 就担任了注册中心这一角色。转自:https://segment...转载 2019-04-20 10:30:37 · 244 阅读 · 0 评论 -
Redis、MemCache、JBossCache、ehcache缓存主从同步
1 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构。2MemCache虽然被称为"分布式缓存",但是MemCache本身完全不具备分布式的功能,MemCache集群之间不会相互通信(与之形成对比的,比如JBoss Cache,某台服务器有缓存数据更新时,会通知集群中其他机器更新缓存或清除缓存数据)3 ehcache支持缓存服务器之间数据复制(EhCache...原创 2019-04-20 10:19:38 · 789 阅读 · 0 评论 -
web服务器集群的session如何同步和共享
在访问量上去以后,很多人会采用web集群的方式在满足逐渐增长的用户量。这时候就不得不面对一个问题,那就是在多个服务器下,每次请求都会因为负载均衡而分配到不同的服务器上。用户在登录服务器后,下一次请求被分配到另一个服务器上,这时候session不同步,用户就无法继续使用原先的session。下面我就聊聊如何解决这个问题。一、利用Mysql数据库共享Session数据的方式使用一个mysql服...原创 2019-04-20 10:00:54 · 541 阅读 · 0 评论 -
负载均衡的几种实现方式
1 轮询,依次请求列表中的服务器ip地址(不能保持session一直有效)2 权重,比如ip1访问权重是70%,比如ip2访问权重是30%(不能保持session一直有效)3 ip哈希,使用ip的hash值决定访问哪个ip(能保持session一直有效)4 url哈希,使用url的hash值决定访问哪个ip5按后端服务器的响应时间来分配请求,响应时间短的优先分配。6一致性h...转载 2019-04-19 17:42:42 · 441 阅读 · 0 评论 -
正向代理与反向代理
1、前言最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习。而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需要在浏览器中配置代理的地址。我只知道有代理这个概念,并不清楚代理还有正向和反向之分,于是赶紧学习一下,补充一下知识。首先弄清楚什么是正向代理,什么是反向代理,然后是二者在实际使用中展示的方式是什么样的,最后总结一下正向代理用来做什么,...转载 2019-04-19 16:36:25 · 117 阅读 · 0 评论 -
分布式锁的几种使用方式(数据库、redis、zookeeper)
一、基于数据库实现的分布式锁基于表实现的分布式锁 -- 字段使用唯一索引基于排他锁实现的分布式锁 -- 使用for update加排它锁二、基于缓存的分布式锁使用redis,jetcache等--不能重复创建key-value三、基于Zookeeper实现的分布式锁使用临时有序结点--同一路径下的节点名称不能重复https://blog.csdn.net/u0109...转载 2019-04-19 15:29:35 · 330 阅读 · 0 评论 -
Zookeeper理解
Zookeeper中ZNode的节点创建时候是可以指定类型的,主要有下面几种类型。PERSISTENT:持久化ZNode节点,一旦创建这个ZNode点存储的数据不会主动消失,除非是客户端主动的delete。EPHEMERAL:临时ZNode节点,Client连接到Zookeeper Service的时候会建立一个Session,之后用这个Zookeeper连接实例创建该类型的znode,一...转载 2019-04-19 15:26:36 · 289 阅读 · 0 评论 -
一致性hash算法--负载均衡
有没有好奇过redis、memcache等是怎么实现集群负载均衡的呢?其实他们都是通过一致性hash算法实现节点调度的。讲一致性hash算法前,先简述一下求余hash算法:hash(object)%N一个缓存服务器宕机了,这样所有映射到这台服务器的对象都会失效,我们需要把属于该服务器中的缓存移除,这时候缓存服务器是 N-1 台,映射公式变成了 hash(object)%(N-1) ...转载 2019-04-20 17:42:25 · 543 阅读 · 0 评论 -
什么是 RPC
RPC:远程调用。通过RPC框架,使得我们可以像调用本地方法一样地调用远程机器上的方法:1、本地调用某个函数方法2、本地机器的RPC框架把这个调用信息封装起来(调用的函数、入参等),序列化(json、xml等)后,通过网络传输发送给远程服务器3、远程服务器收到调用请求后,远程机器的RPC框架反序列化获得调用信息,并根据调用信息定位到实际要执行的方法,执行完这个方法后,序列化执行结果,通...转载 2019-04-20 16:44:12 · 2591 阅读 · 2 评论