GO语言商业案例(六):PayPal

GO语言商业案例(六):PayPal,第1张

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

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

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

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

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

借助 Go,PayPal 使其开发人员能够将更多时间从 C++ 和 Java 开发的噪音中解放出来,从而能够花更多时间查看代码和进行战略性思考。

在这个新改写的 NoSQL 系统取得成功后,PayPal 内更多的平台和内容团队开始采用 Go。Natarajan 目前的团队负责 PayPal 的构建、测试和发布管道——所有这些都是在 Go 中构建的。该公司拥有一个大型构建和测试农场,它使用 Go 基础设施进行完全管理,以支持整个公司的开发人员的构建即服务(和测试即服务)。

凭借 PayPal 所需的分布式计算能力,Go 是刷新系统的正确语言。PayPal 需要并发和并行的编程,为高性能和高度可移植性而编译,并为开发人员带来模块化、可组合的开源架构的好处——Go 已经提供了所有这些以及更多帮助 PayPal 对其系统进行现代化改造。

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

随着 PayPal 继续使用 Go 对其软件定义网络 (SDN) 基础设施进行现代化改造,除了更易于维护的代码外,他们还看到了性能优势。例如,Go 现在为路由器、负载平衡和越来越多的生产系统提供动力。
作为一家全球性企业,PayPal 需要其开发团队有效管理两种规模:生产规模,尤其是与许多其他服务器(如云服务)交互的并发系统;和开发规模,尤其是由许多程序员协同开发的大型代码库(如开源开发)

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

PayPal 目前有 100 多名 Go 开发人员,未来选择采用 Go 的开发人员将更容易获得该语言的批准,这要归功于公司已经在生产中的许多成功实现。

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

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

通过他的努力,PayPal 还在评估迁移到 Google Kubernetes Engine (GKE) 以加快其新产品的上市时间。GKE 是一个用于部署容器化应用程序的托管、生产就绪环境,并带来了 Google 在开发人员生产力、自动化 *** 作和开源灵活性方面的最新创新。

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

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

按理说所有兼容ARMv8指令集的软件都可以运营在服务器上,如果想让软件与鲲鹏兼容,需要考虑自编软件部分、来源软件部分、商用软件部分和鲲鹏的兼容性四方面,都符合条件即可兼容。而目前鲲鹏已经支持的语言包括编译型的c、c++、golang>=15和解释器jvm>=17(java语言)、perl、python2/3、shell、nodejs。感觉华为云发展得越来越好了,以后可以运营在鲲鹏上的软件肯定越来越多⌄

不同的方向有不同的技能要求和发展前景,需要根据自己的情况选择,两个方向都是目前主流的开发行业。游戏后端开发需要掌握网络编程、高并发、消息队列等技术,开发出高性能、高可用性的游戏服务器。后端开发需要熟悉数据库、API设计、服务架构等知识,开发出高质量、易维护的Web应用。运维开发需要熟悉Linux、云计算、自动化运维等技术,保障系统的稳定性和高可用性。

国外的一些免费服务器限制流量,国内免费的服务器额度又很低,毕竟免费的午餐不好吃。

如果你有技术,就去磐石云参加“你搞技术,我出资源”活动

这是磐石云推出的扶持计划,通过视频/教程内容可置换服务器,最久可长达一年。

给的云服务器上海区的:

2HCPU4G内存5M带宽50G系统盘、4HCPU8G内存10M带宽50G系统盘。

如果你有更多需求,就凭技术去谈一谈。

置换规则:

技术牛人准备已制作好的视频教程内容/脚本,磐石云客服取得联系

符合条件的教程类型:

1、开源软件使用视频教程

2、服务器软件搭建环境教程

3、一键脚本

4、集成镜像

5、游戏服务器搭建教程

可参考产品教程类型:

1、网盘类(seafile、ownCloud、Cloudreve、kiftd、nextcloud等)

2、建站类(建站软件使用、论坛、博客、电商等)

3、服务类(域名、SSL、备案等)

4、游戏类(无论版权的各种游戏服务端)

5、系统工具(多平台的系统工具使用,例如linux远程、ftp传输等)

资源须同时符合以下标准:

1、使用开源软件。

2、视频必须提供高清录屏素材(附带技术文档或说明文档)。

3、提供对应内容所使用到的代码、脚本。

搭建软件教程参考产品推荐:

1、Owncloud(网盘)

2、Monibuca流媒体服务器

3、OBS直播-推流服务器搭建使用

4、WordPress 博客软件

5、BIND(Berkeley Internet Name Domain Server)DNS服务器软件

6、MySQL数据

7、离线下载lxdl 离线下载文件到中转服务器,用户从中转服务器下载文件到本地

8、微商城小程序jpshop快速搭建属于自己的社区团购-微商城系统

9、邮件服务器Dovecot

10、音乐服务器Mopidy

11、go语言验证码服务器gocaptcha

1.Docker项目
网址为 >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13017615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存