Google Cloud 提供工具和服务来帮助您构建高度可用且具有弹性的应用: Google Cloud 服务可在全球各地的区域和地区使用,使您能够部署您的应用以最好地满足您的可用性目标。...Google Cloud 提供了一系列负载平衡选项来管理您的应用流量,包括可以将流量引导到离您的用户最近的健康区域的全局负载平衡。...简单来说,实现高可用性通常涉及分配计算资源、负载平衡和复制数据。 物理分配资源 Google Cloud 服务可在全球各地使用。这些位置被划分为区域和区域。...Google Cloud 还提供区域永久性磁盘,以自动将您的数据复制到一个区域中的两个地区。 同样,您可以通过创建区域集群来提高部署在 GKE 上的应用的可用性和弹性。...因此,即使没有流量,也可能需要维护最少的资源集。同样,基线资源的范围受应用程序类型和流量配置文件的影响。
Google Cloud 架构框架中的这份文档提供了用于构建服务的设计原则,以便它们能够容忍故障并根据客户需求进行扩展。当对服务的需求很高或发生维护事件时,可靠的服务会继续响应客户的请求。...以下可靠性设计原则和最佳实践应该是您的系统架构和部署计划的一部分。 创建冗余以提高可用性 具有高可靠性需求的系统必须没有单点故障,并且它们的资源必须跨多个故障域进行复制。...故障域是可以独立发生故障的资源池,例如 VM 实例、专区或区域。当您跨故障域进行复制时,您可以获得比单个实例更高的聚合级别的可用性。有关更多信息,请参阅区域和可用区。...在区域出现故障时使用跨区域的数据复制和自动故障转移。一些 Google Cloud 服务具有多区域变体,例如 BigQuery 和 Cloud Spanner。...为了应对区域故障,请尽可能在您的设计中使用这些多区域服务。有关区域和服务可用性的更多信息,请参阅 Google Cloud 位置。 确保不存在跨区域依赖关系,以便区域级故障的影响范围仅限于该区域。
于是便决定使用Google Cloud Spanner来保证数据的ACID(原子性、一致性、隔离性和持久性)的前提下仍然可以对数据库进行水平拓展和分布式操作。...其他特性 Cloud Spanner还有很多其他的特性,包括单区域和多区域配置、多语言支持等。...删除父表行需要满足其中两点之一: 在子表中没有对应的行。 声明ON DELETE CASCADE。...在对数据库进行分片操作的时候,只要父表行以及子表行的大小在8GB以内,并且在子表行中没有热点,则每个父表以及子表的数据的存放区域关系会一同保留下来。...基于负载进行分片 当数据库中的一个表上的10行数据的读取频率高于表中所有其他的行,Cloud Spanner就会为这10行中的每一行添加分片边界,以便于每一行是由不同的服务器处理,以此来避免这10行数据的读写操作只消耗单台服务器的资源
在下一节中,我们将根据地理区域和服务可用性来查看 Google 数据中心的当前状态。 Google 数据中心 作为互联网规模的数据托管人,Google 建立了完善的数据中心网络。...在这种情况下,如果该区域不可用,则该服务将变得不可访问。 计算引擎是区域资源,因为如果基础数据可用,则可以恢复计算。 如果包含计算引擎实例的区域出现故障,则一旦该区域可用,就需要重新启动计算。...区域资源:这些资源部署在一个区域内,并且在各个区域之间具有冗余性。 这些资源提供的服务不会因为区域故障而中断。 结果,利用区域资源确保了更高的可用性。 多区域资源:一些关键任务服务在区域间冗余部署。...可以跨区域传输数据以满足服务级别。 考虑到现有的可用容量和对云计算资源的需求预测,Google 已经在跨地区扩展其业务范围。 通过使用机器学习算法,可以确保最佳利用容量。...一些重要的优势是可伸缩性和可用性。 如果服务遇到大量流量和 API 请求,则会自动扩展群集以满足对计算资源的需求增长。 由于使用了底层的 GCP 基础架构,该平台还确保了 99.9% 的可用性。
当然,对于像PROD这种生产环境(正式环境),你可能还是倾向于分配足够的CPU和内存来满足工作所需--但是在DEV/TEST环境中,通常这些环境大多数需要计算机资源的消耗,因此优化服务器的利用率可以有效地进行成本节约...一个基于容量的安置策略可以在宿主机上分配给满足Docker工作量的足够的计算资源; Quota(指标)--用户可以指示该集群是否遵从分配给用户配置文件。...并通过交叉镜像环境变量延伸了Docker Compose;可扩展的BASH脚本插件可以调用请求时间或者规定位置;高可用性的应用程序集群在多主机或者区域间支持自动缩放。...、HP Public Cloud、IBM SoftLayer、Google Compute Engine和其他。...并通过交叉镜像环境变量延伸了Docker Compose;可扩展的BASH脚本插件可以调用请求时间或者规定位置;高可用性的应用程序集群在多主机或者区域间支持自动缩放。
根据所选择的冗余级别和存储层,数据检索、数据写入和向其他Azure区域的数据传输可能会或可能不会产生额外费用。增强型支持也可用于收费。...(3)谷歌云存储 谷歌云存储(Google Cloud Storage)是一种统一的对象存储解决方案,具有高频访问(多区域和区域,Regional),低频访问(Nearline)和最低访问频率(Coldline...奇怪的是,IBM网站上的定价计算器并没有包括计算存储定价的选项。因此,企业存储论坛使用网站上提供的信息来计算图表的总数。...Google Cloud Storage价格基于爱荷华州地区的区域存储,Google的成本估算包括40万个A类业务和400万个B类业务。IBM Cloud价格基于美国东部地区的区域标准存储。...基于对象存储的Oracle云价格为440万个请求,并且没有网络服务。
现在,让我们快速检查一下 Cloud TPU 可用的区域。 这将帮助您确定最近的模型部署区域: 在美国地区的可用性:在撰写本章时,TPU 在美国和欧洲地区普遍可用。...我们已经使用 TensorBoard 描述了 Cloud TPU。 除了学习所有这些,我们还通过了足够的技巧来编写优化的模型。...建议使用相同的区域来存储训练数据和模型训练。 扩展层:这定义了需要分配给 AI 平台用于训练工作的资源。...没有必需的权限,您尝试构建 Google Cloud AI Platform 模型版本的尝试将失败。 让我们开始研究如何创建 Google Cloud Storage 存储桶。...该命令使用本地依赖性来预测并以与执行在线预测后的 Google Cloud AI 平台相同的格式返回结果。 测试本地预测将使您能够在计算在线预测请求成本之前发现错误。
Google Cloud Architecture Framework 中的这份文档解释了在云平台上运行可靠服务的一些核心原则。...这些原则有助于您在阅读架构框架的其他部分时达成共识,这些部分向您展示了一些 Google Cloud 产品和功能如何支持可靠的服务。 关键术语 在架构框架可靠性类别中,使用了以下术语。...每当系统不可用时,系统的错误预算就会被消耗或烧毁。...吞吐量 KPI 有助于确保按时完成用户所需的每日或季度报告。 100% 的可靠性是错误的目标 你的系统应该足够可靠,让用户满意,但又不能过于可靠,以至于投资不合理。...可靠性与快速创新相辅相成 使用错误预算在系统稳定性和开发人员敏捷性之间取得平衡。以下指南可帮助您确定何时快速或慢速移动: 当有足够的错误预算可用时,您可以快速创新并改进产品或添加产品功能。
图片为了更好地应对游戏的全球化以及在线交付的趋势,CAPCOM 基础架构团队决定充分利用公共云服务,并在 Google Cloud Platform (GCP) 上构建新的在线游戏核心组件,这项工作的关键是要找到一款合适的数据库...数据库选型该团队调研了几款数据库,包括那些在 GCP 以外的云平台 (IaaS) 上运行的数据库。然而,没有一款数据库能够同时满足他们对关系型数据库以及对灵活性扩展的需求。...团队通过监控仪表板上的资源和复杂查询来验证管理控制台的可用性,迁移到 TiDB Cloud 很顺利,没有任何问题。...”—— CAPCOM 基础设施团队 Ryohei Morita性能和可扩展性基础设施团队以每秒 1000 个请求的工作负载测试 TiDB Cloud 性能。...“每秒查询次数 (QPS) 暂时下降了三分之一后,服务逐渐恢复,在恢复过程中始终保持连接,游戏应用端也没有发生错误。”
开发人员可以通过Amazon EC2竞价型实例、Azure竞价型虚拟机和Google Cloud Preemitble VM为其未使用的容量获得折扣定价。...低优先级实例可以节省多达90%的费用,但是这些实例的可用性受到更多限制,并且可能会突然中断,具体取决于区域的整体容量需求。它们最适合用于无状态工作负载、批处理作业和其他可以容忍中断的任务。...这些功能可自动监视和调整应用程序规模以满足需求,并可用于确定成本、可用性或性能的优先级。 在考虑成本的情况下设置自动缩放参数。例如,将性能限制放在不需要扩展的较低优先级工作负载上。...配置自动缩放设置以使用最少数量的资源来满足需求。并在适当的时候纳入一些前面提到的折扣计划。 无服务器计算也可以帮助解决许多扩展问题,但是仍然需要一些前期计划来避免成本失控。...例如,将使用专用网络连接服务(例如AWS Direct Connect、Azure ExpressRoute或Google Cloud Interconnect)的成本与物理传输设备(例如AWS Snowball
这些过滤器帮助我们执行以下功能: 身份验证和安全性——识别每个资源的身份验证需求并拒绝不满足这些需求的请求。 洞察和监控——在边缘跟踪有意义的数据和统计数据,以便为我们提供准确的生产视图。...静态响应处理——直接在边缘构建一些响应,而不是将它们转发到内部集群 多区域弹性——跨AWS区域路由请求,以使我们的ELB使用多样化,并使我们的优势更接近我们的成员 工作原理 在高级视图中,Zuul 2.0...-添加信息头部提供额外的细节路由,请求执行,状态和错误原因 GZipResponseFilter -可以启用gzip出站响应 SurgicalDebugFilter ——可以将特定的请求路由到不同的主机进行调试...* 可用很复杂,包括查sql,nosql去判断该请求到底有没有权限访问。...,比如:鉴权、流量转发、请求统计等等,这些功能都可以使用Zuul来实现。
备注:英文原文来自Google Cloud网站博客文章 Google Cloud networking in depth: How Traffic Director provides global load...Traffic Director为服务网格中的内部微服务带来全局负载均衡。借助全局负载均衡,您可以在全世界的Google Cloud Platform(GCP)区域中配置服务实例。...Traffic Director为客户端提供智能,以便将流量发送到具有可用容量的最近的服务实例。这优化了发起流量的服务和使用流量的服务之间的全局流量分配,为每个请求采用最短往返时间(RTT)。...当 Compute Engine autoscaler 正在增加所需的容量时,Traffic Director 会暂时将流量重定向到其他可用实例 - 即使在其他区域也是如此。...一旦 autoscaler 增加了足够的工作负载容量以维持峰值,Traffic Director 就会将流量移回最近的zone和region,再次优化流量分配以最小化每个请求的RTT。
Google Cloud 架构框架中的这份文档提供了最佳做法,用于定义适当的方法来衡量您的服务的客户体验,以便您可以运行可靠的服务。...服务系统 以下 SLI 在提供数据的系统中是典型的: 可用性告诉您服务可用的时间比例。它通常根据格式良好的请求成功的比例来定义,例如 99%。 延迟告诉您可以以多快的速度满足一定百分比的请求。...如果没有可比的竞争,衡量客户体验,即使你还不能定义目标。例如,衡量系统可用性或对客户进行有意义且成功的交易的比率。...当您的错误预算中有剩余容量时,您可以继续快速启动改进或新功能。当错误预算接近于零时,冻结或减慢服务更改并投入工程资源以提高可靠性功能。...Google Cloud 的运营套件包括 SLO 监控,以最大程度地减少设置 SLO 和错误预算的工作量。
如何设计一个高可用性和灾难恢复的大型分布式系统?...设计高可用性和灾难恢复的系统是一个持续的过程,需要根据系统的具体需求和业务目标来定制解决方案。此外,随着技术的发展和组织需求的变化,系统设计需要不断地进行评估和更新。...资源分配:根据需求预测分配足够的资源,包括硬件资源、软件资源和人力资源。 扩展策略:设计水平扩展(增加实例)和垂直扩展(增加资源)的策略,确保系统可以灵活地应对需求变化。...通过遵循这些最佳实践,可以确保系统架构能够满足业务需求,同时保持良好的性能和稳定性。 微服务架构中的API网关如何处理复杂的路由和权限认证?...商业 API 网关:如 AWS API Gateway, Azure API Management, Google Cloud Endpoints 等,通常提供了易于使用的界面和集成服务。
图1:集群 垂直可扩展性 当系统通过向节点添加处理器,主存,存储或网络接口进行扩展时,系统可以垂直或向上扩展,以满足每个系统更多的请求。...托管服务公司通过增加处理器数量或主存来扩展,以在同一硬件中托管更多的虚拟服务器。 ? 图2:虚拟化 高可用性 可用性描述了系统在一段时间内提供有用资源的情况。...代理缓存:它们向可能都可以访问相同资源的一组客户端提供请求。它们可用于内容过滤和减少带宽使用。 Squid,Apache,Amazon Cloud Front,ISA服务器是这项技术的例子。...服务平台:Google App Engine,Amazon Web Services(EC2,S3,Cloud Front),Nirvanix,Akamai,MuleSource。...故障检测方法 故障检测方法必须提供足够的信息来隔离故障并执行自动或辅助故障切换操作。
可用性:公有云通常都会提供高可用性的服务,通过多区域、多可用区的设计,可以保证服务在硬件故障时仍能正常运行。此外,公有云还提供了数据备份和灾难恢复等服务,进一步提高了业务的连续性和数据的安全性。...公有云的高可用与高性能 在云计算环境中,资源弹性是其核心优势之一。云厂商通过提供按需分配和自动扩展的资源,使得用户可以根据业务需求灵活地调整资源使用,从而实现资源的最优利用。...这些设备能够处理大量的数据流,满足云服务的需求,同时通过硬件级别的优化,减轻CPU的负担,提高数据处理的效率。...云原生时代的负载均衡技术 然而,在云原生时代,随着容器化和微服务架构的普及,传统的基础和应用层负载均衡解决方案不能无法满足容器化应用的需求。这就需要新的负载均衡控制器来解决这些问题。...Cloud API Gateway) 是(Google Cloud Service Mesh) Azure HTTP/1.1, HTTP/2, WebSocket, gRPC
活动中也可能出现突然的和意料之外的爆发。如果系统的处理需求超过了可用资源的容量,那么它的性能就会很差,甚至会失败。如果系统必须满足商定的服务水平,则此类故障可能是不可接受的。...有许多策略可用于处理云中的不同负载,具体取决于应用程序的业务目标。一种策略是使用自动缩放在任何给定时间将供应的资源与用户需求相匹配。这有可能始终如一地满足用户需求,同时优化运行成本。...但是,如果新资源没有足够快地可用,则现有资源可能会耗尽,系统可能会失败。如前所述,为防止这种情况发生,系统会暂时受到限制。当自动缩放完成并且额外的资源可用时,可以放松限制。...如果服务需要暂时拒绝用户请求,它应该返回特定的错误代码,以便客户端应用程序了解拒绝执行操作的原因是由于限制。客户端应用程序可以在重试请求之前等待一段时间。 系统自动缩放时,节流可用作临时措施。...何时使用此模式 使用此模式: 确保系统继续满足服务水平协议。 防止单个租户垄断应用程序提供的资源。 处理活动的突发。 通过限制保持系统运行所需的最大资源水平来帮助优化系统成本。
首先,您应该寻找具有大型边缘服务器网络的 CDN,这些服务器是分布式的,以便与大多数访问者来自的区域重叠。 定价也可能在决定您的 CDN 提供商方面发挥重要作用,因为目前有多种定价模型可用。...否则,如果您想使用 Google Cloud CDN,您首先需要在 Google Cloud 上安装 WordPress。该过程涉及到,并且对于大多数 WordPress 用户来说可能具有挑战性。...至于定价,Google Cloud CDN 使用即用即付模式,根据缓存出口、缓存填充和 HTTP/HTTPS 查找请求的数量收费。...但是对于任何想尝试的人来说,Google Cloud Platform 提供 300 美元的信用额度,您可以将其用于测试 Google Cloud 服务,包括 Google Cloud CDN。...您需要为带宽和使用可变区域费率的请求总量付费。话虽如此,您将有一个月的免费时间(最高 50 美元)来测试您的流量并决定这是否适合您的 CDN 服务。
如果您的 JVM 被换出内存,那么在下一次请求到来时,GAE 必须花费更多的时间来启动整个应用程序。对于低流量 web 应用程序来说,这可能导致缓慢的性能(第一次请求的等待时间超过 5 秒钟)。...更糟的是,GAE 没有提供简单的方式来删除不再使用的索引。 决 定要创建哪个索引对于 GAE 开发人员来说是一个很大的负担。...将自动生成的索引合并到已经部署的应用程序中 也是一个潜在的容易出错的过程,该过程直到 web 应用程序用户点击错误配置的索引前都没有错误提示。...您可以使用基于 web 的管理控制台来监控可用于每一个 EC2 实例上的资源,并设置规则,从而在现有服务器负载超过预设限制时自动启动负载平衡器后面的新服务器实例。...免费可扩展的基础设施 也 类似于 Beanstalk,RUN@Cloud 提供了可扩展的基础设施,将按需启动负载平衡器和服务器实例以满足流量激增。
数据基础设施团队支持三种查询语言来满足客户需求 - 从高级、通用 SQL 方法到为高级用户提供更可定制的低级支持: Presto SQL Uber 的数据平台支持 Presto SQL 作为其默认查询语言...自定义SQL 对于 Presto SQL 无法满足的更专业的要求,例如需要自定义用户定义函数 (UDF),或调整计算资源以支持非常大的查询,Uber 提供了 Flink SQL 和 Spark SQL。...,因此重型查询与轻型查询在不同的集群中运行 • 多区域部署:Hive Sync用于将数据从主区域复制到辅助区域。...但他们目前正在 Google Cloud 上构建云数据,使用 HiveSync 将数据从 HDFS 复制到 Google Cloud 对象存储。...• Google Cloud 对象存储之上的 Presto:通过使用自定义 HDFS 客户端,Presto 与 Google Cloud 对象存储进行交互,就好像它在查询 HDFS 一样,从而提高了性能
领取专属 10元无门槛券
手把手带您无忧上云