ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔

ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔

ID:8220097

大小:1.95 MB

页数:34页

时间:2018-03-10

ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔_第1页
ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔_第2页
ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔_第3页
ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔_第4页
ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔_第5页
资源描述:

《ArchSummit北京-《基于数据同步的云服务架构实践》-谢乔》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ArchSummit全球架构师峰会北京站2015基于数据同步的云服务架构实践谢乔@野狗科技大纲与范畴•野狗的数据同步理念•数据同步的架构演进•数据同步的细节问题Schema-free数据存储•树形数据库–像一颗Json树–面向聚合–数据之间的关系更直观•完美的与Url结合–每条数据都能通过url来唯一定位–Path为key,key-value经典云服务野狗是这样的副本的同步数据同步的基本模型•初始化慢同步–fullsync–conditionsync•增量同步–本地best-effort–pusho

2、plog•基于长连接–保证有序性–重连需要初始化慢同步架构演进架构特点•写多读少–写同步越实时越好–读容忍一定延迟•最终一致性•并行写冲突•实时•操作幂等v0.1架构框图•面向早期用户•物化路径存储v0.2架构框图•动态建库,app数据隔离•Mongo提升读写性能•副本集多活•机枪换导弹v0.3架构框图•appId-topic•大大提升写性能•类似Nagle减低写压力•读性能下降解决读的不一致问题•幂等的覆盖模式操作v0.3.1架构框图•keysxxx*引发的血案•需要PerformanceMoni

3、toringPerformanceMonitoring•流量统计•调用延迟•异常报警细节问题大巧不工重剑无锋问题一并发写•静态一致性•写隔离•解决方案–中心化锁机制–进程间协商机制分布式树形锁•注意问题–tryLock/release需要2次交互–注册Lock的有效期–等待Lock超时–动态hash–连接异常时退化性能问题•吞吐量下降–每个app一个树形锁,单进程,终究有吞吐上限–任何操作,包括没有冲突操作,都需要先获得锁•主要性能的点–单次pushsync量大,可以导致阻塞–异步pushsync令

4、人恶心的架构诞生了•缩减了write操作的过程•保证云端与客户端一致性•太过复杂,不确定因素累加过多做技术不能意淫•同一客户端场景–GPS实时定位–模拟游戏手柄的按键–游戏中人物坐标的变化–烟雾报警器实时采集•不同客户端场景–投票、点赞等计数器–拔河游戏–协作文档–智能彩灯上帝的归上帝,野狗的归野狗•用户可配置化–默认不启用–大大减少不必要的开销–降低锁粒度–由appIdhash改进为pathhash问题二push并发冲突•依靠写时的树形锁,达到顺序push的效果问题三顺序一致性•需要保证同一客户端

5、的顺序性–按照clientId散列到datahandler–进程内锁实现顺序性–目标又变成解决write的性能问题四最终一致性•实现最终一致性多client并发写冲突Push给自己•返回数据做diff操作问题五原子性操作•场景–ifthen–i++•自旋锁CAS–本地副本计算hash,与云端hash对比,一致才可以操作。–与云端hash值不一致,则重新load数据到本地,重新上步操作。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。