paypal最初的运营模式,paypal的发展情况

  

  由于我们的NoSQL和数据库代理在多线程模式下使用了相当多的系统细节,管理不同条件下的代码变得很复杂。由于Go提供了处理复杂性的通道和例程,我们可以构建代码来满足我们的需求。   

  

  ―巴拉纳塔拉詹   

  

  基于Go构建的新代码基础设施创建PayPal的目的是使金融服务民主化,并使个人和企业能够加入全球经济并在其中蓬勃发展。这项工作的核心是PayPal的支付平台,它使用专有技术和第三方技术的结合,高效安全地促进全球数百万商家和消费者之间的交易。随着支付平台变得越来越大和越来越复杂,PayPal寻求将其系统现代化,并缩短新应用程序的上市时间。   

  

  Go在生成干净高效的代码方面有很大的价值。这些代码可以很容易地随着软件部署的扩展而扩展,这使得该语言非常适合支持PayPal的目标。   

  

  支付平台的核心是PayPal专有的用c开发的NoSQL数据库,然而代码的复杂性大大降低了开发者开发平台的能力。Go简单的代码布局、goroutine(轻量级执行线程)和channel(用作连接并发Go例程的管道)使Go成为NoSQL开发团队简化和现代化平台的自然选择。   

  

  作为概念验证,一个开发团队花了六个月的时间学习围棋,并在围棋中从头开始重新实现NoSQL系统。在此期间,他们还就如何在PayPal中更广泛地实现Go提供了见解。截至今天,30%的集群已经迁移到使用新的NoSQL数据库。   

  

  用Go简化规模随着PayPal的平台变得越来越复杂,Go提供了一种简单的方法来简化大规模创建和运行软件的复杂性。这种语言为PayPal提供了优秀的库和快捷的工具,以及并发性、垃圾收集和类型安全。   

  

  通过Go,PayPal使其开发人员能够将更多的时间从C和Java开发的噪音中解放出来,这样他们就可以花更多的时间来查看代码和进行战略思考。   

  

  在这个新改写的NoSQL系统获得成功后,PayPal中更多的平台和内容团队开始采用Go。纳塔拉詹目前的团队负责PayPal的构建、测试和发布――所有这些都是在Go中构建的。该公司有一个大型的构建和测试场,使用Go基础设施对其进行全面管理,以便在整个公司的构建即服务(和测试即服务)过程中支持开发人员。   

  

  用Go实现PayPal系统的现代化随着PayPal所需的分布式计算能力,Go是刷新系统的正确语言。PayPal需要并发和并行编程,为高性能和高可移植性进行编译,并为开发人员带来模块化和可组合的开源架构的好处――Go提供了所有这些以及更多帮助PayPal实现系统现代化的功能。   

  

  安全性和可支持性是PayPal的关键问题。该公司的操作管道越来越多地由Go主导,因为该语言的简单性和模块化有助于他们实现这些目标。PayPal Go的部署为开发者提供了一个创造性的平台,使他们能够为PayPal的全球市场批量生产简单、高效和可靠的软件。   

  

  随着PayPal继续使用Go来实现其软件定义网络(SDN)基础设施的现代化,他们看到了更易于维护的代码之外的性能优势。例如,Go now为路由器、负载平衡和越来越多的生产系统提供动力。   

  

  Go提高了开发者的生产力。作为一家全球化企业,PayPal需要其开发团队有效管理两个规模:生产规模,尤其是与许多其他服务器交互的并发系统(如云服务);和开发规模,尤其是众多程序员共同开发的大型代码库(如开源开发)。   

  

  用PayPal解决这些规模问题。该公司的开发人员受益于Go将解释性动态类型语言的编程便利性与静态类型编译语言的效率和安全性相结合的能力。随着PayPal系统的现代化,对网络和多核计算的支持至关重要。Go不仅提供了这种支持,而且提供得很快——在单台计算机上编译一个大型可执行文件最多只需要几秒钟。   

  

  PayPal目前拥有超过100名Go开发者,未来选择采用Go的开发者将更有可能获得该语言的批准,这得益于该公司在生产中的许多成功实现。   

  

  最重要的是,PayPal开发者使用Go来提高生产力。Go的并发机制使得编写充分利用PayPal的多核和联网机器的程序变得很容易。使用Go的开发者还受益于它可以快速编译成机器码,他们的应用获得了垃圾收集的便利和运行时反射的强大功能。   

  

  加快PayPal的上市时间。今天PayPal的第一语言是Java和Node,Go主要作为基础设施语言。虽然Go可能永远不会在某些应用程序中取代Node.js,但Natarajan正在推动让Go成为PayPal的第一语言。   

  

  通过他的努力,PayPal还在评估向谷歌Kubernetes引擎(GKE)的迁移,以加快其新产品的上市时间。GKE是一个用于部署的容器化应用程序。   

序的托管、生产就绪环境,并带来了 Google 在开发人员生产力、自动化操作和开源灵活性方面的最新创新。

  

对于 PayPal 而言,部署到 GKE 将使 PayPal 更容易部署、更新和管理其应用程序和服务,从而实现快速开发和迭代。此外,PayPal 会发现更容易运行机器学习、通用 GPU、高性能计算和其他受益于 GKE 支持的专用硬件加速器的工作负载。

  

对 PayPal 来说最重要的是,Go 开发和 GKE 的结合使公司能够轻松扩展以满足需求,因为 Kubernetes 自动扩展将使 PayPal 能够处理用户对服务不断增长的需求――在最重要的时候保持它们可用,然后在安静的时间来省钱。

相关文章