客户痛点:
公司秉承“智能购物,快乐体验”的理念,致力于为用户提供无缝对接的线上购物平台。通过大数据分析和人工智能技术,智悦电商不断优化其运营效率,为消费者提供更为个性化和便捷的购物服务,确保在激烈的电商竞争中持续领先。智悦电商旨在成为全球领先的智能电商平台,通过持续的技术创新和卓越的运营模式,提供全球范围内的优质购物体验,推动全球消费者的购物方式不断向数字化、智能化方向发展。
架构描述:
扩展性:
ALB+Auto Scaling:通过ALB的目标组与Auto Scaling结合,实现流量自动分发到集群并且新增服务器自动加入集群以及缩减服务器时自动将服务移除集群的功能,同时通过Auto Scaling 中的指标对EC2实例进行监控,在服务器负载过高时自动自动进行横向扩展,以减小服务宕机的可能性,提高系统的可靠性以及扩展性。
Redshift:基于AWS托管的数据仓库,应用Redshift的弹性扩展功能实现数据库层的可靠性以及扩展性
数据导入与存储:
Kinesis Data Streams:用于实时处理和传输从Web日志等流数据源捕获的数据,适用于获取实时数据参与数据分析
数据处理与分析:
在数据成功导入和存储后,架构中包含多个服务来处理和分析数据:
- Kinesis Data Firehose:将通过Kinesis Data Streams收集的实时数据传输并存储到S3中,以备后续分析和持久化。
- Glue ETL:使用AWS Glue进行数据的提取、转换和加载(ETL)操作,将存储在S3中的原始数据转换为分析所需的格式,并将处理后的数据存储在Redshift数据仓库中。
- QuickSight:通过与Redshift集成,QuickSight提供快速、易用的商业智能(BI)服务,实现对数据进行可视化分析和报表生成。
数据备份与归档:
为确保数据的长期存储和归档,架构中使用了以下组件:
S3 Glacier:将存储在S3中的数据备份到S3 Glacier进行长期归档存储,适用于不常访问但需要长期保存的数据。通过设置生命周期策略,数据在一段时间后自动转移到Glacier中以降低存储成本。
安全:
IAM:为了整体架构的安全,通过IAM最小权限策略对所有用户以及服务权限进行限制,确保用户或服务没有过大的权限,减小安全事件发生的风险
ACM:考虑到大部分用户通过HTTPS访问网站,选择使用ALB与Certificate Manager相结合,为网站实现SSL安全认证。
经验:
1. 实时数据流处理:
- 操作:通过Kinesis Data Streams实时捕获用户活动数据,并利用Kinesis Firehose将数据发送到S3。
- 经验:Kinesis Data Streams与Firehose的组合提供了强大的实时数据处理能力,适用于高并发和低延迟的场景。数据直接进入S3后,可以通过生命周期规则自动存储到S3 Glacier以降低长期存储成本。
2. 公私网络的分离与安全:
- 操作:使用公有子网部署NAT Gateway以供私有子网中的资源访问外部服务。
- 经验:公私网络的分离设计增强了系统的安全性,通过NAT Gateway实现了对外部服务的受控访问,避免了直接暴露后端服务的风险。
3. 数据分析与可视化:
- 操作:Redshift集成QuickSight,为业务提供了快速的决策支持。
- 经验:Redshift的数据仓库能力支持高效的数据分析,QuickSight提供了直观的可视化界面,减少了业务团队对数据团队的依赖。
教训:
1. 负载均衡配置的优化:
- 操作:ALB配置初期未充分考虑健康检查的间隔和超时时间,导致流量分发不均。
- 经验:配置负载均衡器时,需要根据后端服务的响应时间设置合适的健康检查策略,避免因不准确的健康检查导致的实例过载或流量丢失。li>
2. Glue任务资源冲突
- 操作:多项Glue ETL任务同时运行时,未合理分配资源,导致任务失败。
- 经验:需要优化Glue任务的调度策略,确保任务在资源允许的范围内执行。建议使用Glue的作业优先级功能,并配置任务运行间隔以避免资源争夺。
3. IAM策略的过度宽松
- 操作:未对IAM角色进行精细化权限配置,导致某些服务权限过大。
- 经验:IAM策略应遵循最小权限原则,为每个服务分配所需的最低权限,避免不必要的安全风险。