
分布式
文章平均质量分 97
一次编写 到处调试
hello world
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分布式全局唯一id——Snowflake算法
1 问题引出——为什么会用到全局唯一ID 一开始我是拒绝学习这个知识的,因为MySQL明明就有自增属性AUTO_INCREMENT,何必多此一举、大费周章,最后就出来一个id,是否舍近求远、舍本逐末? 答案是:对,也不对。 说对,是因为一般来讲,用数据库自增字段应付得来了; 说不对,是因为要考虑到扩展性,一旦数据量太大需要扩容、分库分表的时候就炸了,当然你.....................原创 2019-02-24 03:50:00 · 3245 阅读 · 0 评论 -
分布式锁的实现
总结了下分布式锁的几种实现方式:数据库、缓存、zookeeper原创 2019-03-01 13:03:52 · 164 阅读 · 0 评论 -
分布式锁——redis实现
使用Redis实现了一个锁,命名为:RedisLock。一、原理介绍1.1 RedisLock特性用最简单的方式实现一个redis分布式锁,该锁具有如下特性:阻塞式:在加锁时,如果获取不到,则进入自旋状态; 非阻塞式:在加锁时,如果获取不到,立刻返回加锁失败; 可重入:同一个线程多次请求加锁,对资源做+1操作,解锁时,资源必须等于0才算完全解除锁定; 锁超时:加锁时,可以设置...原创 2019-03-30 19:05:27 · 641 阅读 · 0 评论 -
分布式锁——zk实现
1 zk分布式锁原理(参考:https://blog.youkuaiyun.com/xuefeng0707/article/details/80588855)zk使用临时顺序节点+Watch机制实现分布式锁:加锁:创建临时顺序节点,如果该节点是最小节点则获取到锁,否则对上一个临时节点注册监听。解锁:删除节点。下面我们详细分析下加锁和解锁的过程,暂不考虑可重入性和锁超时,参考了curator...原创 2019-04-07 21:48:57 · 1705 阅读 · 0 评论 -
Netty实现RPC框架
框架核心:注册中心:使用zk,通过创建临时顺序节点保存服务的提供者和消费者; 服务提供者:使用自定义注解的方式暴露服务; 服务消费者:在properties文件中配置消费的服务;缓存服务提供者地址,并对提供者注册监听,当提供者变更时,更新本地缓存 服务治理平台:在提供者和消费者上注册监听,缓存服务的提供者和消费者。一、原理介绍参考dubbo的服务注册方式,使用zk作为注册中心,服务...原创 2019-04-12 01:00:13 · 566 阅读 · 0 评论