![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
小布的世界
追逐猎物仅仅靠猛跑是不够的,尤其在对付大群猎物的时候,必要的准备和步骤是获得成功的基础。而谋划是实现这一切的唯一保障。
展开
-
分布式锁实现思路
在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性 分布式锁的实现思路,跟线程锁的实现原理一样,可以借助memcached或者redis,zookeeper来实现memcached和redis是一样的都是一块大内存 应用A和B同时向memcached发起查询锁(可以是一个ke原创 2016-12-28 17:10:26 · 443 阅读 · 0 评论 -
接口幂等的重要性
接口幂等是说,用相同的参数,调用一次和调用多次,其返回的结果应该是一样的。比如一个接口时用来保存数据的,那如果用户在页面上,连续两次点击提交(点击提交后,页面加遮罩层除外),那势必会发送2次请求,如果接口没有做幂等,数据库肯定被插入了2条相同数据如何把接口做成幂等的,如果没有状态的改变和数据库相关的,都设置成单例基本上不用处理就幂等了,如果有状态改变或者数据库操作的话要做一些额外的处理,首先在接口接原创 2017-01-04 16:01:22 · 4387 阅读 · 0 评论 -
分布式系统实时统计在线人数
我们知道在分布式系统中,一个登陆应用可能被分开部署了多台服务器。想要统计实时的在线人数,需要借助一个中间件,我这里用的是memcached。这里必须说明一点,很多情况下,用户是不会手动点击登出按钮的,所以我们无法拿到一个非常精确的实时在线的一个数据,只能拿到一个近似实时的一个值。我之前有篇文章说的是单点登陆,有兴趣可以参考下,单点登陆sso 单点登陆的时候,会以cookie为key,用户ID为值,写原创 2017-04-19 11:07:45 · 12172 阅读 · 1 评论 -
单点登陆sso
分布式项目中,一个应用,因为功能不同往往被拆分成了多个应用,后台应用还好,拆就拆了,顶多就是多发起几次RPC调用就好了,但是web应用因为要和用户直接打交道,从一个应用到另一个应用还要在登陆就不好了,单点登陆就是用来解决这个问题的。我这里说的思路是用浏览器的cookie在相同domain(域名的结尾,例如:mazhenhua.test.com和penglei.test.com,那domain就是te原创 2016-12-28 16:03:16 · 1530 阅读 · 0 评论