康纳·梅尔沃德的化身

康诺米尔沃德

科技品牌经理首席技术官办公室 优步

决定 在Uber Technologies 关于 阿帕切斯星火C,OpenSHIFT,JavaScriptKubernetesC++,去吧,Node.jsJava蟒蛇,耶格

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

Uber是如何开发开源的,端到端分布式跟踪耶格,现在是CNCF项目:

分布式跟踪正在迅速成为组织用来监视其复杂性的工具中的必备组件,基于微服务的体系结构。在尤伯,我们的开源分布式跟踪系统Jaeger在整个2016年都得到了大规模的内部采用,集成到数百个微服务中,现在每秒记录数千个跟踪。

这是我们如何来到这里的故事,从研究现成的解决方案,如Zipkin,为什么我们从拉式架构转向推式架构,以及分布式跟踪将如何继续发展:

https://eng.uber.com/distributed-tracing(分布式跟踪)/

(GITHUB页面:https://www.jaegertracing.io网站/,github:https://github.com/jaegertracing/jaeger

绑定/运算符:蟒蛇 爪哇 J.N. C++ 库伯内斯 JavaScript OpenSHIFT C.* 阿帕奇星火

优胜亚博平台怎么样票 · 评论 · 1287K 意见

决定 在Uber Technologies 关于 纳吉奥斯Grafana石墨,普罗米修斯

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

为什么我们花了几年时间构建一个开放源码,大型计量报警系统,M3建造用于普罗米修斯

到2014年底,所有服务,基础设施,以及Uber的服务器向石墨将它们以低语文件格式存储在一个分片碳簇中的堆栈。我们用过格拉法纳用于仪表盘和纳吉奥斯为了提醒,通过源代码控制脚本发布石墨阈值检查。虽然这项措施奏效了一段时间,扩大碳簇需要手动再硬化过程,由于缺乏复制,任何单个节点的磁盘故障都会导致其相关度量的永久丢失。简而言之,随着公司的不断发展,这个解决方案无法满足我们的需求。

为了确保Uber度量后端的可扩展性,我们决定构建一个系统,提供容错度量数据接收,存储,作为管理平台进行查询…

网址:https://eng.uber.com/m3/

(吉图布:网址:https://github.com/m3db/m3

优胜亚博平台怎么样票 · 66K 意见

决定 在Uber Technologies 关于 肋骨,斯威夫特Objtovi-C

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

摘自我们如何开发(随后是开源)Uber的跨平台移动架构框架,肋骨,从出发Objtovi-C迅捷在iOS流程中:https://github.com/uber/ribs/肋骨

Uber的新应用程序体系结构(肋骨)广泛使用协议来保持其各个组件的分离和可测试性。我们在新的Rider应用程序中首次使用了这种架构,并将主要语言从Objective-C移到了Swift。因为swift是一种非常静态的语言,单元测试成了问题。动态语言有很好的框架来构建测试模拟,短截线,或者动态地创建或修改现有的具体类。

不用说,对于手工编写和维护数千个协议的模拟实现的额外复杂性,我们并不十分兴奋。

生成模拟类所需的信息已经存在于swift协议中。对于Uber的用例,我们开始创建工具,让工程师通过简单的注释,自动为他们想要的任何协议生成测试模拟。

仅我们的Rider应用程序的iOS代码库就包含了大约1500个这些生成的mock。没有我们的代码生成工具,所有这些都必须手写和保存,这将使测试更加耗时。自动生成的模拟为我们今天的单元测试覆盖率做出了很大贡献。

我们自己构建这些代码生成工具的原因有很多,其中包括,在我们开始工作的时候,可用的开源工具并不多。今天,有一些伟大的开源工具可以生成资源访问器,就像斯威夫根一样。而且,sourcery可以帮助您满足通用代码生成需求:

https://eng.uber.com/code-generation(代码生成)/ https://eng.uber.com/driver-app-ribs-architecture(驱动程序-应用程序-肋骨-体系结构)/

(吉图布:https://github.com/uber/ribs/肋骨

优胜亚博平台怎么样票 · 30.5K 意见

决定 在Uber Technologies 关于 火炬Keras张力流

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

为什么我们要建立一个开放源码,分布式培训框架张力流克拉斯,和手枪

在尤伯,我们在业务中应用深入的学习;从自驾研究到出行预测和防欺诈,深入学习使我们的工程师和数据科学家能够为我们的用户创造更好的体验。

张力流由于各种原因,Uber已经成为首选的深度学习图书馆。开始,该框架是最广泛使用的开源深度学习框架之一,这样就可以方便地搭载新用户。它还结合了高性能和修补低级模型细节的能力,例如,我们可以同时使用两种高级API,比如Keras,并使用Nvidia的CUDA工具包实现我们自己的自定义操作员。

Uber介绍了米开朗基罗(https://eng.uber.com/michelangelo/)一个内部的ML-AS-A-Service平台,它使机器学习民主化,并使大规模构建和部署这些系统变得容易。在本文中,我们拉开了霍洛沃的帷幕,米开朗基罗深度学习工具包的一个开放源代码组件,它使使用TensorFlow启动和加速分布式深度学习项目变得更加容易:

https://eng.uber.com/horovod网站/

(直接Github回购:https://github.com/uber/horovod网站

优胜亚博平台怎么样票 · 22.9K 意见

决定 在Uber Technologies 关于 JavaScriptJavaC

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

为什么Uber开发了H3,我们的开放源代码网格系统使地理空间数据可视化和勘探更容易、更高效:

我们决定创建H3,将六边形全球网格系统和层次索引系统的优点结合起来。全球网格系统通常至少需要两件事:地图投影和放置在地图顶部的网格。对于地图投影,我们选择了以二十面体为中心的假面投影。从地球投射到二十面体,二十面体的柏拉图式固体H3网格是通过在地球上布置122个基本单元来构建的,每张脸上有十个细胞。H3支持16种分辨率:网址:https://eng.uber.com/h3/

(GITHUB页面:网址:https://uber.github.io/h3/#/写在CW/绑定爪哇&JavaScript

优胜亚博平台怎么样票 · 35.1K 意见

决定 在Uber Technologies 关于 卡夫卡经理卡夫卡github,阿帕切斯星火哈多普

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

我们为什么要建造马尔马拉,用于Apache的开放源代码通用数据摄取和分散框架和库哈多普

由Hadoop平台团队建造和设计,Marmaray是一个基于插件的框架,构建在Hadoop生态系统之上。用户可以通过使用阿帕奇星火.名字,Marmaray来自土耳其连接欧洲和亚洲的隧道。同样地,我们将Uber中的Marmaray设想为一条管道,根据客户偏好将数据从任何来源连接到任何水槽:

https://eng.uber.com/marmaray-hadoop-enginetion-open-source/

(直接)github回购协议:https://github.com/uber/marmaray 卡夫卡 卡夫卡经理

优胜亚博平台怎么样票 · 51.2K 意见

决定 在Uber Technologies 关于 蟒蛇,MySQL波斯特雷斯尔

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

我们最受欢迎的(有争议的!)到目前为止,这篇文章发表在3年多的Uber工程博客上。我们为什么要搬离波斯特雷斯尔MySQL.本质上,这是由于当时Postgres的各种限制。有趣的事实——在Uber的历史早期,我们实际上是从MySQL迁移过来的。Postgres在恢复之前,&虽然我们在2016年夏天发表了这篇文章,但从那时起我们就再也没有回顾过:

Uber的早期体系结构由一个编写在蟒蛇使用Postgres进行数据持久化。从那时起,Uber的架构发生了重大变化,微服务模型和新的数据平台。明确地,在我们以前使用Postgres的许多案例中,我们现在使用无模式,基于MySQL的新型数据库分片层(https://eng.uber.com/schemaless-part-one/)在本文中,我们将探讨Postgres的一些缺点,并解释在MySQL之上构建无模式和其他后端服务的决定:

https://eng.uber.com/mysql-migration/

优胜亚博平台怎么样票 · 评论 · 47.8K 意见

决定 在Uber Technologies 关于 木偶实验室最重要的

康纳的化身
科技品牌经理首席技术官办公室 优步 ·

为什么我们要依靠开源最重要的对于Uber的聊天需求,我们以uchat(github:https://github.com/uber-uchat/--将我们的一些更改贡献回最重要的部分。)

在620多个城市开展业务,对于我们来说,最重要的是找到一种聊天解决方案,使Uber员工能够在台式机和移动设备上进行可靠的通信,而不管他们身在何处。为了做到这一点,我们建立了一些核心需求。开始,我们需要一些可以扩展的东西来支持我们不断增长的员工群体,作为副产品,控制成本。我们还需要一个能够轻松集成各种内部工程的平台,业务,以及操作工具。

我们评估了Internet中继聊天(IRC)和许多其他流行的聊天客户端,很明显,没有能够满足Uber核心需求的交钥匙第三方解决方案。

因此,在测试了多种现成的替代方案之后,我们建造了UChAT,我们的定制内部消息传递平台,通过利用最重要的开源平台和木偶实验室,部署配置管理的Uber标准。在本文中,我们讨论了在短短的三个月内,我们的团队如何将公司转变为一个新的解决方案,该解决方案能够每天向数万用户可靠地传递超过一百万条消息,一体式统一聊天环境:

https://eng.uber.com/uchat/

优胜亚博平台怎么样票 · 158K 意见