转一份阐述如何从架构上优化的邮件

慢在哪里:写Redis HBase 线程切换等

优化思路:无法提高RedisHBase的写入速度,那么就减少写入量吧;减少写入量的办法:1,减少冗余写入,2,延长缓存时间。减少线程切换,尽量批量提交。

 

1,减少冗余数据写入:

目前的逻辑:缓存一分钟的数据然后定时刷入Redis或者HBase。问题是:各台机器会缓存相同的商品,导致同一个商品在一分钟内被写入了多次。

机器越多,冗余越大,不能横向扩展。所以需要减少接收数据的机器数量,同时将数据按照指定维度路由到相同的机器处理。

 

2,延长缓存时间:

如果解决了1中的问题,那么每台机器在一定时间内的写入量变成了可控。这时为了保护存储,可以延长缓存时间来减少写入量。

 

3,减少线程切换:

数据采集器和数据处理器切换为类似Disruptor的无所队列,批量提交数据给一个线程。(这个可选,短板应该在12

 

方案:图略

 

 

在当前的架构下,增加数据路由器模块,按照指定的维度类似一致性hash的办法将数据路由到指定数据处理器。

具体想了一个简单的方案,回头和大家一起讨论一下,看看有没有更好办法:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值