基于AWS的广告服务应用架构
互联网广告服务需要在有限时间内完成定向广告,这是需要面对的技术挑战。AWS提供了在云端构建可靠的,容错的,高可用系统的基础设施和服务。在本文中,将描述系统中的两个主要部分:广告服务的基础结构和用于点击数据收集的数据分析集群。
1. 当用户加载一个web页面时,广告服务器返回一个广告资源被展示的标识。广告服务器运行在 EC2 实例上,根据用户的个人资料,从存储在Amazon DynamoDB 表中查询的相关的广告信息。
2. 从 Amazon CloudFront下载广告文件, 这种内容发布服务是无提交内容的,拥有低时延和高数据传输速率。所显示广告的日志信息存在S3上。
3. 点击采集服务器是一组 Amazon EC2 实例,专门用于采集用户点击数据。 该信息保存在点击采集服务器的日志文件中,并周期性地上传到Amazon S3。
4. Amazon Elastic MapReduce 是使用了Hadoop框架来处理数据的的并行作业流。广告效果和点击数据由Amazon Elastic MapReduce 集群收集并处理。通过使用热点实例,集群的容量可以动态扩展同时缩减处理时间和运行作业流的成本。
5. 数据处理的结果被推回到 Amazon DynamoDB,这是一个全面可管理的 NoSQL数据库服务,提供了快速可预测的性能以及无缝的可扩展性。Amazon DynamoDB 能够存储和获取大量的数据,服务于不同水平的流量请求,能够快速存储和获取用户的个人资料。无论是巨量的用户资料数据集还是高流量请求,Amazon DynamoDB的高可用性和良好性都能保证广告服务器前端以较短时间来响应。