百道数据招聘: 运维工程师、架构师、商务。请发简历至 contact@baiadoadata.com

ZMO

百道数据助力ZMO优化云架构

客户背景

感知阶跃(ZMO)是感知阶跃(深圳)数字科技有限公司旗下品牌。它是一家专注于AI 生成内容(AIGC)技术的创新公司,致力于为消费者提供独一无二的数字内容创作体验。通过先进的 AI 技术,让每个人都能轻松创作出高质量的图像和视频,不再受到创作工具的高使用门槛制约。 ZMO 团队由来自全球顶尖技术公司和学府的精英组成,包括谷歌、苹果、GrowingIO、ETH 和 KUL 等。公司愿景是创造一个既能激发个人创造力,又能促进技术进步的环境,通过 AI 技术让每个人的创意得以释放和实现。

业务需求和挑战

客户对网络延迟非常敏感,因为他们的用户遍布全球。因此,他们希望找到一个网络性能更优的云平台来服务全球。其次,他们希望使用更多 Serverless 服务,而不是仅依赖虚拟机进行部署。这样可以大幅减少维护成本。最后,他们需要更多的技术支持服务,由于公司大部分员工都是研发人员,运维能力相对薄弱,他们希望能有公司帮助减轻部分运维压力。

由于符合谷歌公司的 Startup 计划政策,公司于 2022 年成功申请了谷歌提供的初创企业支持(Startup) 计划。然而,在使用谷歌云服务的过程中,公司意识到在服务运营及解决方案整合方面,亟需一个具备深厚技术实力和丰富经验的支持伙伴。为此,公司选择了百道数据,期望借助其在 Google Cloud Platform(GCP)基础架构领域卓越的售后服务与运维能力,将原先部署在 阿里云 和 Microsoft Azure 上的全部服务无缝迁移至 GCP 平台。这一合作不仅提升了公司的云服务效率,也为未来的业务扩展奠定了坚实的技术基础。

解决方案

架构图如上

方案架构描述

  1. 客户端访问
  • 客户端:用户通过PC、移动设备或API访问系统。
  1. 安全与负载均衡
  • Cloud Armor:提供安全保护,防御DDoS攻击和其他网络威胁。
  • Cloud Load Balancing:负责将流量分发到多个服务实例,确保系统的高可用性和负载均衡; 通过 anycast IP ,保证全球用户一致体验。
  1. API网关
  • Spring Cloud Gateway:作为 API 网关,负责处理和路由来自客户端的请求,确保请求能够到达正确的微服务实例。
  1. 服务集群
  • 任务服务(Task Service):处理特定的任务逻辑,可能涉及业务处理或数据操作。
  • 用户服务(User Service):管理用户相关的操作,如用户认证、授权和用户数据管理。
  • 订单服务(Order Service):处理订单的创建、管理和查询等操作。
  • 日志服务(Logging Service):负责记录和管理系统日志,用于监控和故障排查。
  1. Nacos集群
  • Nacos:用于服务发现和配置管理,确保微服务之间的通信和配置的一致性。
  1. 数据存储
  • Memory Store (Redis):作为缓存层,提供高速的数据访问,适用于频繁读写的场景。
  • BigQuery:用于大数据分析和查询业务日志,支持高效的数据处理。
  • MongoDB:用于存储非结构化或半结构化数据,适用于灵活的数据模型。
  • Cloud Storage:用于存储大量非结构化数据,如文件和对象。
  • FileStore:用于文件存储,支持文件的上传、下载和管理。
  1. 任务调度与处理
  • Job Clusters:负责调度和执行各种任务,支持多种任务类型:
    • Stable Diffusion:SD 图像生成任务。
    • Dream Booth:梦境任务。
    • Control Net:控制网络任务。
    • Background Remove:背景移除任务。
  1. 消息队列
  • Queue Services:用于任务队列管理,确保任务的异步处理和系统组件的解耦。

使用产品

– Compute Engine

– Google Kubernetes Engine

– Global Load Balancer

MemoryStore

Cloud Storage

– Cloud CDN

– Cloud Armor

– BigQuery

客户收益

与其他云厂商相比,谷歌拥有众多区域,在公共云市场方面,Compute Engine 提供了关于吞吐量、稳定性、定价、备份和安全性的理想解决方案。 

完全托管的 GKE 可以自动处理 Kubernetes 集群的创建、配置和升级,减少了运维工作量,提供高可用性的控制平面,确保集群的稳定运行。

Global Load balancer 可以在全球范围内分发流量,确保即使某个区域的实例出现故障,流量也能自动切换到其他健康的实例。而且它定期对后端实例进行健康检查,确保只有健康的实例才会接收流量,从而提高系统的可靠性。

Cloud CDN 通过在全球范围内缓存内容,减少了用户访问的延迟,提高了加载速度。Cloud Armor 提供强大的 DDoS 防护功能,能够识别和缓解大规模分布式拒绝服务攻击,确保服务的可用性。作为 WAF,能够过滤恶意流量,防止 SQL 注入、XSS 攻击等常见的 Web 攻击。减少了对后端资源的无效消耗,提高了资源利用效率。

基于 Google Cloud 的现代化云原生系统,采用微服务架构、容器化部署和多种存储解决方案,确保系统的高可用性、可扩展性和灵活性。通过API网关、消息队列和任务调度等组件,系统能够高效处理复杂的业务逻辑和数据流。