克服物联网中数据集成的挑战
|
利用zookeeper独特的类似文件系统的数据结构,可以像创建文件夹一样随意创建节点my_lock,节点下可以创建子节点,节点还可以存储数据并生成有序自增的节点ID my_lock_00000001 .... my_lock_0000000N等。这样先创建的节点序号ID 就越小,谁的节点ID 最小则视为拿到锁,拿到锁的节点处理完业务后删除对应节点释放锁。 而没拿到锁的线程通过设置watcher监控节点my_lock,一旦发现该节点下有线程释放锁删除子节点,其余 所有线程 重新获取my_lock下 全部子节点 比较自身节点是否为最小,最小则获得锁,一直如此重复,直到所有线程都拿到锁。 那这样就产生一个现象,在整个分布式锁的竞争过程中,存在大量重复运行的动作,并且绝大多数都是无效操作,判断出自己并非是序号最小的节点,从而继续等待下一次通知,这就是所谓的 “羊群效应”。
如果节点数量足够多,当删除一个节点大量客户端同时监听,比较自己自身节点是否为最小,就会产生大量的网络开销,会大大降低整个zookeeper集群的性能,所以必须对现有的分布式锁进行优化,如下图: 媳妇最近突然爱学习了,各种刷算法、架构方面的题,没日没夜的带娃还有这个劲头,着实让我没想到。看似一片欣欣向荣,不过,长期的生存经验告诉我,这并不是什么好事,事出反常必有妖~ 一个测试人员不变着花样找 bug,开始研究代码想制造 bug了,弯转的有点急啊,不过,不管怎么样渴望学习是好事。我这点水平忽悠她,那还不跟欺负小学生一样。 那天突然问我:" 什么是 zookeeper 的羊群效应?",我有点惊讶,问的挺深入,看来这次是认真学了啊。那得赶紧讲不能打消人家的学习积极性。
其实这是个挺简单的概念,羊群效应常在zookeeper实现分布式锁的场景中发生,建议没接触过ZK的同学先补习下基础知识,分析一下zookeeper实现分布式锁的原理就更容易理解了,看下图: 通院还承担着另外两种角色,第一是政府的监管支撑,采集到各个企业和用户之间发携出短信、查询携转资格整个流程,同时采集到用户携转全流程信息,在监管系统里实现对于携号转网流程的全流程还原,帮助更好的支撑携转的政策监管。同时也会把携转的相关数据提供给相关的公安、信息安全部门,用于他们对于整体的信息通信行业监管,对于广大用户的生命财产安全保障提供一个保驾护航的基础数据。 携号转网现在进展如何 2019年12月,携号转网服务正式推广以后,12月有60多万携转量的规模产生,之后由于疫情爆发,携转量有一个慢慢减缓的过程。 3月以来随着疫情常态化,携号转网的用户规模也在逐步恢复,到达七八月份整体稳定在100万以上的水平,尤其是在9、10、11几个月,9月份达到了150万,10月份160多万,11月份172万,12月中旬已经达到了当月100万以上的携转量,11月底单日携转量高达138656,为什么月底这么活跃呢,因为用户要从一家运营商转为另一家,需要把自己的合约结清。 截止到目前累计的携转量已经超过了1850万。按照8、9、10月份的整体规模推算疫情常态化以后携转转网的用户规模量,我们做出了最新的数值预期,年携转比例超过1%。
为了保证用户携得了、转得快、用得好,在去年3月份到11月份非常短暂的八个月时间内,三家运营商对系统进行了大规模改造,完成了1800余套系统改造,投资达到了30多亿。 (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
