基于阿里云构建可靠懒猪行IT运维平台

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 背景 以阿里云为代表的云计算平台的出现,给IT系统的运维带来了巨大的便利,我们的项目在14年创立之处就在使用阿里云的ECS。2016年度,我们借助单台ECS实例和精心设计的软件系统,跑出了接近1个亿的销售额,但随着业务规模的快速扩展和IT系统的演进,运维架构也做出了较大的调整。

背景

以阿里云为代表的云计算平台的出现,给IT系统的运维带来了巨大的便利,我们的项目在14年创立之处就在使用阿里云的ECS。2016年度,我们借助单台ECS实例和精心设计的软件系统,跑出了接近1个亿的销售额,但随着业务规模的快速扩展和IT系统的演进,运维架构也做出了较大的调整。

关键点

  1. 将业务分拆为一般重要、关键和既重要又关键的模块
  2. 搭建持续集成环境和预发布环境
  3. 敲除单点故障,为保证SLA对关键服务做冗余处理
  4. 对未来数据规模的预估,并定期归档冷数据
  5. 用好内存型NoSQL,例如Redis

业务分拆的原则

业务分拆的方法有很多,微服务架构是其中一种不错的思路之一。但分拆的原则,是先分拆一般但数据量较大的业务模块,其次才会对核心业务模块分拆。

懒猪行S2B系统中的一个比较典型的例子,是消息盒子。最初的设计思路是将其与主体系统耦合在一起,并且把数据与业务数据一起放到MySQL中。但后续评估数据量时,发现消息盒子产生的巨大数据量,占用业务系统的数据库IO开销,对业务稳定性存在潜在的威胁。于是我们决定将其分拆到单台独立的ECS实例中运行,数据库改用Redis,与主业务系统之间通过API接口交互数据。

负载均衡和跨境访问优化

作为一个面向B端商家的跨境旅游项目,要优先保障国内分销商家的访问,同时也要保障境外地接社和游客的访问。

在早期的方案中,我们将服务器放在香港,同时对大陆和境外访问。但随着业务的增长,大陆与香港之前的公网状况已经不允许我们这么做,于是我们把数据迁回大陆,在香港和大陆之间架设专线,然后通过香港的Nginx反向代理把境内服务器转发出去,这样同时满足了境内和境外的访问要求。

懒猪行IT系统架构图(简化版)

_

数据库读写分类和分库分表原则

  1. 对历史数据的处理
    懒猪行系统目前的数据规模还不算太大,基于对未来数据量发展的预估和后期维护的敏捷性,我们会定期归档一年前的历史交易数据到MongoDB中长期存储,这样对系统整体性能提升有显著帮助,同时以独立的服务模块维护,向主业务系统提供数据查询接口。
  2. 数据库读写分离
    读写分离是访问量较大的IT系统都会采用的技术方案,但基于业务系统的特殊性(频繁的数据导出)和对数据分析挖掘(产品销售的关联性分析)的需求,我们采用一主多从的方案。
  3. 使用Redis缓存高频数据
    操作人员频繁的查看和修改订单,消费、退款等操作,虽然实现了数据库读写分离,但仍然有不小的压力;另外,诸多同行对接API,可能会存在集中式的订单创建。使用内存型Redis缓存,可以减少90%以上的数据库读取操作,并且对较集中的订单创建(例如双11这样的场景)和修改操作“削峰”,提升系统的整体性能和健壮性。

作者信息:刘远程,杭州懒猪行Co-founder兼CTO。知名信息安全企业产品经理出身,曾多次创业并担任技术总监和CTO,具有丰富的互联网产品设计、开发和团队管理经验。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
8天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在企业IT管理中的应用与实践####
本文深入探讨了智能化运维(AIOps)的核心技术原理,通过对比传统运维模式,揭示了AIOps如何利用大数据、机器学习等先进技术提升故障预测准确性、优化资源分配及自动化处理流程。同时,文章详细阐述了智能化运维平台的实施步骤,包括数据收集与分析、模型训练与部署、以及持续监控与优化,旨在为企业IT部门提供一套切实可行的智能化转型路径。最后,通过几个典型应用案例,如某大型电商平台的智能告警系统和金融企业的自动化故障排查流程,直观展示了智能化运维在实际业务场景中的显著成效,强调了其在提升运维效率、降低运营成本方面的关键作用。 ####
29 4
|
19天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:AI在IT运维中的应用与挑战###
本文探讨了人工智能(AI)技术在IT运维领域的应用现状、具体实现方式及其面临的挑战。通过分析AI如何优化故障预测、自动化处理和资源管理,文章旨在揭示AI赋能下运维工作的变革潜力与实践难题,为读者提供对智能化运维趋势的深刻理解。 ###
|
27天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在现代IT基础设施中的应用与价值####
本文探讨了智能化运维(AIOps)在现代IT基础设施管理中的实际应用、面临的挑战及其带来的深远影响。通过引入先进的算法和机器学习模型,智能化运维不仅提高了故障检测与响应的速度,还显著优化了资源配置,降低了运营成本,为企业数字化转型提供了强有力的技术支撑。 ####
|
24天前
|
运维 监控
构建高效运维体系:从理论到实践
在当今快速发展的信息化时代,高效的运维体系是保障企业信息系统稳定运行的关键。本文旨在探讨如何构建一个高效、可靠的运维体系,通过分析当前运维面临的挑战,提出相应的解决策略,并结合实际案例,展示这些策略的实施效果。文章首先介绍了高效运维的重要性,接着分析了运维过程中常见的问题,然后详细阐述了构建高效运维体系的策略和步骤,最后通过一个实际案例来验证这些策略的有效性。
|
1月前
|
人工智能 运维 监控
构建高效运维体系:理论与实践的深度融合####
本文旨在探讨高效IT运维体系的构建策略,通过理论框架与实际案例并重的方式,深入剖析了现代企业面临的运维挑战。文章开篇概述了当前运维领域的新趋势,包括自动化、智能化及DevOps文化的兴起,随后详细阐述了如何将这些先进理念融入日常运维管理中,形成一套既灵活又稳定的运维机制。特别地,文中强调了数据驱动决策的重要性,以及在快速迭代的技术环境中保持持续学习与适应的必要性。最终,通过对比分析几个典型企业的运维转型实例,提炼出可复制的成功模式,为读者提供具有实操性的指导建议。 ####
|
1月前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI驱动下的IT运维革命###
本文探讨了人工智能(AI)技术在IT运维领域的创新应用,强调其在提升效率、预防故障及优化资源配置中的关键作用,揭示了智能运维的新趋势。 ###
|
1月前
|
机器学习/深度学习 人工智能 运维
智能化运维:提升IT服务效率的新引擎###
本文深入浅出地探讨了智能化运维(AIOps)如何革新传统IT运维模式,通过大数据、机器学习与自动化技术,实现故障预警、快速定位与处理,从而显著提升IT服务的稳定性和效率。不同于传统运维依赖人工响应,AIOps强调预测性维护与自动化流程,为企业数字化转型提供强有力的支撑。 ###
|
28天前
|
机器学习/深度学习 运维 监控
智能运维在现代IT架构中的转型之路####
【10月更文挑战第29天】 本文旨在探讨智能运维(AIOps)如何成为现代IT架构不可或缺的一部分,通过分析其核心价值、关键技术及实践案例,揭示AIOps在提升系统稳定性、优化资源配置及加速故障响应中的关键作用。不同于传统运维模式的被动响应,智能运维强调预测性维护与自动化处理,为企业数字化转型提供强有力的技术支撑。 ####
68 0
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
63 4
|
24天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####