肉眼品世界导读: 在互联网环境里,很多时候常常会有海量级别的订单,高并发,低延迟,不同的业务场景有不同的做法。
更多优质内容请关注微信公众号“肉眼品世界”(ID:find_world_fine)
业务场景
一交易系统,毫秒内就会产生一条交易数据,有付款方,收款方,交易类型,交易符号,分别为from ,to ,type,symbol,前面玩过一下apache phoenix 来做sql查询《从phoenix hbase谈谈研发管理和技术选型》,效率还是慢了点儿,还是原生的好
从业务需求来看主要有几个点儿:
1:交易记录实时写入,实时查询,支持交易记录多条件查询,还能分页,这里条件刚好比较固定,就username(交易方),type,symbol
2: 用户的余额要实时返回,账目可追溯
3: 海量交易数据
这里使用了hbase作为存储介质,当然大家也可以尝试一下tidb
数据落地
hbase写入效率还是比较高的,但是太高有时会自动不让写入,写入也是有一些参数需要优化调整的,多条件的复合查询对于hbase来说有时真是有点儿XX,所以rowkey的设计特别关键,但是rowkey并不是万能的
hbase写入优化:
有很多参数优化的帖子,根据业务实际情况动态调整,这里就不一一列举了,这里主要讲一下rowkey和数据结构设计:
一:第一回合