一篇文了解分布式队列编程:从模型、实战到优化
需要声明的是,这里的解决方案并不是所处场景的最优方案.但是,任何一个稍微复杂的问题,都没有最优解决方案,更谈不上唯一的解决方案.实际上,工程师每天所追寻的只是在满足一定约束条件下的可行方案.当然不同的约束会导致不同的方案,约束的松弛度决定了工程师的可选方案的宽广度. 信息采集处理信息采集处理应用广泛,例如:广告计费、用户行为收集等.作者碰到的具体项目是为广告系统设计一套高可用的采集计费系统. 典型的广告CPC、CPM计费原理是:收集用户在客户端或者网页上的点击和浏览行为,按照点击和浏览进行计费.计费业务有如下典型特征:
挑战计费业务的典型特征给我们带来了如下挑战:
构思采集的高可用性意味着我们需要多台服务器同时采集,为了避免单IDC故障,采集服务器需要部署在多IDC里面. 实现一个高可用、高吞吐量、高一致性的信息传递系统显然是一个挑战,为了控制项目开发成本,采用开源的消息中间件进行消息传输就成了必然选择. 完整性约束要求集中进行计费,所以计费系统发生在核心IDC. 计费服务并不关心采集点在哪里,采集服务也并不关心谁进行计费. 根据以上构思,我们认为采集计费符合典型的“生产者消费者模型”. 架构(编辑:网站开发网_马鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |