基于AWS的Web日志分析系统架构
AWS提供的服务和基础设施能够在云环境中建设可靠,容错和高可用的Web应用程序。在生产环境中,这些应用产生大量的日志信息。这些数据是任何公司运营web应用程序的重要知识来源,分析日志可以揭示信息,如交通模式,用户行为,市场资料等。
然而,作为Web应用程序的增长和的访问者数量的增加,存储和分析网络日志变得越来越具有挑战性。下图展示了如何使用AWS构建一个可扩展且可靠的大规模日志分析平台。该架构的核心组件是AmazonElastic MapReduce, 这是一个使分析师能够经济方便地进行大数据处理的Hadoop 框架。
1. Web前端服务器运行在Amazon ElasticCompute Cloud (Amazon EC2)实例上.
2. Amazon CloudFront 是一个CDN,它将静态文件分发给用用户,同时用户低时延和高传输速率的特点,也产生有价值的日志信息。
3. 通过多个web服务器或者边缘节点的并行发送数据,日志文件被周期性地上传到AmazonSimple Storage Service (Amazon S3)。
4. Amazon ElasticMapReduce 集群来处理数据集,AmazonElastic MapReduce 采用了Hadoop 框架,能够在并行的作业流中处理数据。
5. 当 Amazon EC2 有了未使用的容量时,可以通过SpotPrice削减成本,这一价格是基于可用性和现实请求的。如果工作负载在一段时间内耗尽或者需要扩容,可以使用SpotInstances 来动态扩展集群的容量,显著地削减运行作业流的成本。
6. 使用类似Apache Hive 这样的工具,数据处理的结果被推送到关系型数据库中,可以是一个AmazonRelational Database Service (Amazon RDS) 实例。 AmazonRDS 在云环境中易于安装,操作和扩展。
7. 和很多服务一样, AmazonRDS 实例同样基于按需付费的模型来定价。分析之后,数据库作为快照备份到Amazon S3中,然后终止服务。该数据库可以在任何需要的时候被重新创建。