HBase毛刺消除利器-双集群并发访问(Dual Service)

人走茶凉 提交于 2019-12-10 11:41:04

HBase用户福利

新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请参考链接

前言

在大数据背景下每时每刻都会有大量的用户行为数据被收集、分析、以及应用, 典型的应用场景包括用户推荐、安全风控;这些场景的共同特点是数据量大、可用性要求高、同时对随机读请求的响应时间非常敏感;云HBase作为海量大数据存储天然适合数据量TB、PB级别的业务场景,同时提供高可用方案(详见)满足用户的高可用需求,再此基础上为了满足用户大数据量随机读低毛刺的要求新增追求极致稳定性的双集群并发访问(Dual Service)功能.

适用场景

实时广告竞价

实时广告竞价场景中竞价方会监听广告交易平台发出的竞价请求,然后将请求转交给竞价引擎进行处理,竞价引擎查询数据库中的用户信息数据,利用算法引擎将用户数据和投放需求进行匹配,最终决定是否参与出价以及具体出价多少;竞价过程中需要在大量用户数据中查询,同时对查询耗时稳定性要求极高,超时意味着放弃竞价就少了一次交易机会造成损失;

实时风控

实时安全风控场景也对查询稳定性有着同样的高要求,在用户发起交易之后风控系统需要判断这一次的交易行为是不是安全的,为了判断的更加准确通常需要查询多维度的信息,查询耗时的多少严重影响用户体验,查询超时要么安全降级有可用造成资损,要么就会造成支付失败影响用户体验遭到投诉,所以查询必须稳定;

实时个性化推荐

实时推荐是另外一种对数据查询抢依赖业务场景,需要对用户的喜好进行判断从而进行准确的推荐,判断就离不开对海量数据的查询,同时也是一个一定不能慢的场景,慢往往意味着降级无法个性化推荐、无法进一步提升转化率;


面对上面的业务场景双集群并发访问能做什么:
  • 同城跨可用区主备冗灾架构,最大程度保证集群可用性;
  • 双集群并发访问,结合SSD存储可以达到数据随机读P999 30ms;
  • 支持混合云部署场景,自建+云实例混合模式自由部署灵活多变;

双集群并发访问(Dual Service)

原理介绍

在HBase存储场景下因为GC、IO抖动等原因,单独一个实例是很难保证99.9%查询稳定性的,如果一个节点的稳定性是99%, 那么两个独立节点的组合的稳定性是 1 - 1% * 1% = 99.9%。采用双节点服务同一份数据可以在最终一致性条件下提升一个数量级的稳定性。当用户请求发起时DualService会首先向主库发起请求,在等待一段时间(Glitch Time,最消化客户端资源开销)后如果主库仍没有返回结果,则并发向备库发起请求,DualService取最快返回的值作为结果,充分保证用户查询稳定性;

毛刺对比

  • 测试环境:2台8C16G节点SSD云盘云HBase实例
  • 测试工具:ycsb
  • 测试场景:1TB数据随机读场景

进阶功能

跨可用区同城主备保证云HBase集群全年99.99%的可用性,双集群并发访问(Dual Service)保障海量数据读查询99.9% 50ms以内的极致稳定性,有了"双保险"但是我们还会遇到其他问题的挑战:单集群完全故障(断网、断电场景)使用Dual Service服务可以请求成功,但是因为glitch timeout的存在平均响应时间会增加;为了解决这一问题,在Dual Service基础上我们还增加故障识别能力,故障场景自动感知秒级自动切换,将故障的影响降到最低,对上层业务无感知;

使用文档

相关链接

HBase用户福利

新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请参考链接

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!