你好,游客 登录
背景:
阅读新闻

高并发数据采集的架构应用(Redis的应用)

[日期:2014-12-23] 来源:博客园  作者:oShine.Q [字体: ]

问题的出发点:

 

     最近公司为了发展需要,要扩大对用户的信息采集,每个用户的采集量估计约3W。如果用户量增加的话,将会大量照成采集量成3W倍的增长,但是又要满足日常业务需要,特别是报表数据必要在规定的时间内完成。

技术障碍:

    1. 面对用户量的增长,记录数3W倍的增长,如何保证这些记录能够在比较快的时间内进入存储介质。

2. 应对用户量的增长,如何在规定的时间内完成采集,增加硬件设备处理能力还是使用更多的服务器来处理请求。

3. 服务器的增长,是否能够支持现有的扩展能力。

架构实现:

使用到的技术项:

    1. 面向服务开发思维

2. 队列服务

3. 多任务并发执行

4. 分布式服务管理

5. Redis的应用

6. 数据分表(分区)的实现和应用

7. Redis异步延迟同步到数据库

架构图如下:

image

image

具体实现:

1. 队列服务可以采用HttpsQs

2. 多任务并发执行,PHP版可采用ParallelCurl,可控制并发数量

3. 可使用PHP Redis实现对Redis的操作

4. 数据表分表或者分区,可自行动手写个,原理很简单,需要指导的可以发私密信

总结:

整个方案不是很复杂,在处理大数据方向这块,基本的原理都是一样,把不可控的因素要把握住,所以在多任务并发这块一定要控制到合理的数量,另外Redis缓存也支持分布式集群,增加Redis服务器并不会影响上层代码的改变,相对来说扩容能力还是相对不错。

原文链接:http://www.cnblogs.com/oshine/p/4178122.html





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款