作者:Andrew Gasparovic

10bet十博最佳体育平台每年处理超过120亿的购物请求,为超过10亿的旅行者提供服务. 通过10bet十博体育的下一代人工智能解决方案, 10bet十博体育专注于优化零售, 分布, 有旅游行业的实践经验. 作为佩刀实验室的首席架构师, 我领导10bet十博体育为促进发展而做出的长期技术选择, 部署, 以及10bet十博体育软件的操作. 10bet十博体育已经开始了一项多年战略,以改造10bet十博体育的技术和解决方案. 重新架构10bet十博体育的基础设施,使其完全成为云原生是这一转变的核心原则. 在10bet十博体育计划的早期迭代中,10bet十博体育已经看到了重大的影响 机器学习 它有潜力为客户带来真正个性化的旅行体验. 作为努力的一部分, 10bet十博体育已经与谷歌建立了10年的合作伙伴关系,以帮助10bet十博体育加速转型,为旅游业带来创新.

数据库选择需要权衡

旅游业的复杂性和规模对10bet十博体育使用的云服务提出了很高的要求. 10bet十博体育更倾向于强调特定的云服务将如何影响应用程序的可靠性, 性能, 或者开发时间, 而不是纯粹根据服务的功能来选择服务. 当涉及到数据库时,这通常意味着要在延迟和一致性之间做出权衡.

对于在不同可用性区域或地理区域为可靠性提供数据的多个副本的任何数据库,都存在权衡. 为确保每个人都能看到最新数据的一致视图而设计的数据库可能会使用命令同步更新这些副本 共识的算法,这会影响提供数据的速度. 另一方面, 为更快的数据服务而优化的数据库可能会异步更新每个副本,并且不能保证跨记录的一致读取.

云扳手 而且 Bigtable -谷歌Cloud的两个托管数据库-都是非常有效的服务, 每一个都可以支持10bet十博体育的许多旅行应用程序. 但是你会看到,延迟和. 一致性的权衡清楚地表明,哪一个最适合10bet十博体育最关键的两个案例.

谷歌云扳手促进强大的,全球一致性的军刀

航空公司的预订数据库存储乘客的预订信息, 座位选择, 票, 特殊要求, 以及其他有关他们旅行的重要信息. 因此,该数据位于一致性/延迟频谱的一致性一端. 10bet十博最佳体育平台通常代表10bet十博体育的运营商客户每秒处理数千个预订更新. 航空公司的预订数据库必须从许多可用性区域提供服务(并且数据在这些可用性区域之间复制),以便在发生故障时仍然可用. 它还要求 ACID属性 用于跨记录的事务性更新,因为航空公司经常同时对多名乘客和多架航班进行更改.

10bet十博体育需要一个能够处理大量并发更新的系统, 就像在暴风雪期间,成千上万的乘客可能会自动转移到备用航班上一样. 扳手非常适合于保留情况,因为它具有独特的一致性保证. 它在峰值时每秒处理超过10亿个请求,并提供5个9秒的SLA (99.999%)来支持10bet十博体育的应用程序. 扳手还可以帮助10bet十博体育保持合规, 业务连续性, 冗余, 以及使用相同的设计安全基础设施的可靠性, 内置数据保护和复制, 以及多层安全,这对10bet十博体育的谷歌云工作负载至关重要.

扳手的客户端库还提供了内置机制来处理与另一个事务发生写冲突时的重试,并允许开发人员在只读事务中选择过时的读取以提高性能. 当然,跨多个区域或地区的一致性不是免费的. 这意味着写入延迟比写入运行在单个可用分区中的可比数据库要长, 而是一个管理航班预订的应用程序, 这是一种合理的权衡.

Bigtable在规模上提供可预测的低延迟

10bet十博体育的航班购物系统处于延迟/一致性频谱的另一端. 10bet十博最佳体育平台的购物引擎每秒为使用移动应用程序的旅行者生成数百万条行程, 第三方旅游网站, 航空公司呼叫中心. 每个行程都需要大量的计算资源来计算:10bet十博体育需要找到哪些航班组合是合理的,并评估关于它们的可用性和定价的复杂规则. 用户在搜索航班时通常没有预订时那么耐心, 所以10bet十博体育需要在一两秒内返回结果. 但是10bet十博体育可以缓存这些购物结果,以减少计算使用量. 例如,10bet十博体育可以根据飞行结果与出发地的距离等因素来决定缓存结果的时间. 

Bigtable是这种购物缓存的绝佳选择. 这是一个用于处理高吞吐量的NoSQL数据库服务, 低延迟应用程序, 管理的数据超过10艾字节. Bigtable独特的延迟特性(例如可预测性和个位数毫秒级的响应时间,即使对于多pb的表也是如此)使10bet十博体育能够有效地提供大量购物结果, 同时为旅行者提供较低的响应时间.

云支持专注于创新

像Bigtable和扳手这样的托管数据库是10bet十博最佳体育平台云战略的重要组成部分. 独特的组合工具喜欢 Bigtable的关键可视化工具 而且 扳手 以及与其他谷歌云服务的集成,如云IAM,云监控,现在 数据流, 使使用谷歌Cloud操作托管数据库的体验比使用几个自托管数据库要容易得多. 由于他们的粒度定价模型和部署和自动化的能力 老10bet十博体育使用的托管数据库最终也降低了总拥有成本.

10bet十博体育对谷歌Cloud最近发布的一些与数据库相关的公告感到特别兴奋. Bigtable的 SLA更新 让10bet十博体育在多集群、多区域正常运行时间方面有了更具体的期望. 扳手的变化供应 处理单元 在非生产环境(10bet十博体育可能需要许多孤立的实例)中部署时,可以提高成本效率, 但不会接近单个节点的极限. 在这些情况下,扳手实例现在可以按节点增量的十分之一进行配置.

10bet十博体育的云转换依赖于为不同的用例选择数据库, 权衡, 以及迁移时间表. 除了托管数据库之外, 10bet十博体育希望使用自托管数据库, 在云市场中提供数据库解决方案, 以及过渡性服务 云SQL 再住几年. 在旅游这样要求很高的行业里, 使用谷歌Cloud特有的技术加速10bet十博体育最关键的应用程序意味着更少的时间用于优化延迟和一致性, 更多的时间花在创新上.