前言:2020年3月7日晚7点,大佬张祥在微信群向大家详细介绍了58同城HBase平台及其生态的建设实践与相关经验,确实讲得很好。今天花了点时间帮大家整理了一下,希望更多的没有参与直播的朋友能够看到它,也欢迎大家积极转发一下,视频与PPT相关资料附于文末。
亮点在哪
该分享的亮点在哪儿里呢?这里我就自己的理解阐述一下自己的想法,不喜勿喷哈~
1. 数据接入层
第一个亮点是:58同城在HBase之上做了进一步封装(SCF),融入了微服务,充分利用了微服务的优势和特点,比如熔断、监控、权限、动态扩缩容等等都可以在这一层做,虽然也多了一层运维成本,但微服务技术应该也算有比较成熟的体系了。
之前也听过诸多言论,比如HBase之上封装一层HTTP或是RPC服务会导致性能降低之类的说法,其实我倒是觉得影响还是比较小的,当然肯定会有些影响。对性能影响比较大的只可能是过度封装或是对HTTP/RPC框架不熟。
当然,性能与服务器成本是挂钩的,性能的提升会带来服务器成本的降低,诸多好处和不足还应权衡一下。58同城,也算是在这一方面开了一个不错的先例(恕我孤陋寡闻~)。
2. 多租户打通与数据隔离
听完整个视频,我觉得第二个亮点算是多租户的全线打通了,这里主要是一个解决方式:Hadoop ugi 的提出。可能是我孤陋寡闻吧,这个对我的启发确实挺大的,因为正好可以解决自己在工作中遇到的一个比较头疼的问题:基于Kerberos太重,如何打通HBase的授权与鉴权,并充分利用HBase ACL?如果你也有这个困惑,可以了解一下。
3. 集群迁移方案
第三个亮点,是一套新的集群迁移方案的提出。以往的贴大都是Snapshot+Replication的方式做这个迁移工作,58首先提出了一个集群双写的方案(恕我孤陋寡闻~),感觉挺好。大家可以详细看看视频,张祥讲解的也很清楚。
答疑解惑
答疑环节呢比较少,这里把微信群里屈指可数的几个问题贴一下:
1. 集群迁移为什么不直接snapshot+export_snapshot?
张祥: “
你这个方式慢,snapshot-export这个工具慢 你试试
而且,如果之前的老表 分区不合理,比如过大或者过小,你这样就不好重新创建新分区了”
2. clone-snapshot以后,major_compact主要是什么考虑?合并小文件吗?还是?
张祥: “
把一个表复制一下,做个深度拷贝,而不是副本引用。”
3. 数据接入层,多租户RPC长链接创建后是如何实现用户动态切换的?我目前的理解HBase是在建立连接前指定用户。
张祥: “ugi”
资料分享
在线视频播放地址:
微信视频:https://mp.weixin.qq.com/s/pUhsvUaznySryItwjWTjQg
斗鱼直播:https://www.douyu.com/5022062
腾讯视频:https://v.qq.com/x/page/g3078klzfwj.html
PPT下载地址:
百度云:
链接:https://pan.baidu.com/s/1fAnxS4bSj9HShMOkiFMWfA
提取码:um8a
转载请注明出处!欢迎关注本人微信公众号【HBase工作笔记】