微服务模式的利弊 微服务模式允许使用不同的开发语言,例如一些服务使用 Node.js,一些使用 Python,一些使用 Go,另一些使用 Java,Uber就是这样,并还有 Scala 使用微服务,可以让每个团队自己掌握他们的发布周期,自己对服务的在线负责 就是因为每个团队只负责自己的事情,所以在很多时候会降低整体速度,例如,java开发团队必须明确他们应该如何与某个系统沟通,而同样的事情还要在 Node.js 与 Go 的团队做一遍 再比如,在某个平台上经过奋战解决了某些bug,同样的,其他平台可能还需
Node.js 8已经发布了,NPM模块每周下载量早已超过10亿,从Uber到LinkedIn都在使用Node.js,谁说JavaScript不能写后台?
Uber 经过6年的快速发展,技术构成已经非常复杂,下面看下 Uber 官方公布的技术栈 底层基础 使用混合云模式,结合了多个云服务提供商,全球多个数据中心,如果一个数据中心出错,马上转到另一个,开通了Uber服务的城市,会被分配到物理距离最近的数据中心,并且每个城市的数据都会备份到一个异地数据中心,所有的数据中心都是运行态的,没有单独作为备份的数据中心 在存储方面,以一个 Postgres 数据库起步,后来发展迅速,对存储的要求越来越高,需要提升存储的可用性,并要求降低系统响应时间 现在使用的是 Sch
2008 年巴黎一个寒冷的夜晚,特拉维斯·卡兰尼克 和加勒特·坎普打不到出租车。就在那时,Uber 的想法诞生了。如果你可以“按一下按钮就可以搭车”,那该多好啊?
作为前端最流行的JavaScript正在一步步走入后端,得益于v8引擎,nodejs环境为JavaScript运行在后端提供了运行环境,而JavaScript异步特点在处理IO数据方面更是如鱼得水,因此很多公司都将nodejs作为了自己的后台主要技术站,那么接下来就让我们盘点下哪些公司使用nodejs来开发它们的应用。
2014年,Uber发展迅速,其平台在第一季度由原来的60座城市发展到100座,后又在第三季度拓展到200座。同时,发展最快的城市也包含在第一批发展的城市当中。 随着越来越多平台工程师的加入,新的代码
据报道,Uber 仅在过去4年的时间里,业务就激增了 38 倍。Uber 首席系统架构师 Matt Ranney 在一个非常有趣和详细的访谈《可扩展的 Uber 实时市场平台》中告诉我们 Uber 软件是如何工作的。 本次访谈中没有涉及你可能感兴趣的峰时定价(Surge pricing,译注:当Uber 平台上的车辆无法满足大量需求时,将提升费率来确保乘客的用车需求)。但我们了解到 Uber 的调度系统,他们如何实现地理空间索引、如何扩充系统、如何提高可用性和如何处理故障,例如在处理数据中心故障时,他们甚至
我们的服务彼此交互,还与移动设备进行交互,而那些交互对业务状况(比如动态定价)和内部使用(比如调试)来说都很重要。就日志而言,我们使用了多个Kafka集群,数据被归档到Hadoop及/或文件存储Web服务中,然后将数据从Kafka弃用。这些数据还被各个服务实时获取,并索引到ELK堆栈,用于搜索和可视化(ELK代表Elasticsearch、Logstash和Kibana)。
本文推荐的10大机器学习开源项目是由Mybridge从250个机器学习开源项目中挑选出来的,Github平均star为1385,主题包含:Tensorflow, Augmentation, AlphaGo Zero, NSynth, Deep Neuroevolution, Person Blocker, TCN, Ann Visualizer, Watson等。 Rank 1:TensorFlow.js (6129 stars on Github,来自TensorFlow团队) 该项目是一个开源的硬件加速
由 Uber 开发的边缘网关是一个高可用、可扩展的自助式网关,用于配置、管理和监视 Uber 的每个业务域 API。
本文推荐的10大机器学习开源项目是由Mybridge从250个机器学习开源项目中挑选出来的,Github平均star为1385,主题包含:Tensorflow, Augmentation, AlphaGo Zero, NSynth, Deep Neuroevolution, Person Blocker, TCN, Ann Visualizer, Watson等。
翻译 | suisui 出品 | 人工智能头条(AI_Thinker) 本文推荐的10大机器学习开源项目是由Mybridge从250个机器学习开源项目中挑选出来的,Github 平均 star为 1385,主题包含:Tensorflow, Augmentation, AlphaGo Zero, NSynth, Deep Neuroevolution, Person Blocker, TCN, Ann Visualizer, Watson等。 (这些也是来自Mybridge的资源:①Python 开源项目 T
本文推荐的10大机器学习开源项目是由Mybridge从250个机器学习开源项目中挑选出来的,Github 平均 star为 1385,主题包含:Tensorflow, Augmentation, AlphaGo Zero, NSynth, Deep Neuroevolution, Person Blocker, TCN, Ann Visualizer, Watson等。
在2015年初我们创建了一个微服务,它只做一件事(也确实做得很好)就是地理围栏查询。一年后它成了Uber高频查询(QPS)服务,本次要讲的故事就是我们为什么创建这个服务,以及编程语言新秀Go如何帮我们
MEDUZA是一款针对iOS应用程序的通用SSL解绑工具,该工具基于Frida开发,可以当作SSLKillSwitch工具的替代品。本来我是想自己开发自己用的,而且原本并不打算开源出来。我个人不太喜欢开源,但棱角总会被磨平的…
2015年初,我们建立了一个微服务来负责这项任务:地理围栏查找(geofence lookups),结果完成很出色。如今已过一年,这项技术在Uber数以百计的生产应用中脱颖而出,成为了每秒查询量最高(QPS)的服务。本文讲述了我们建立这个服务的原因,还有近来Go语言对构建和扩展该服务速度的贡献。 背景 在Uber,地理围栏指的是地面上由人为定义的地理区域(或几何术语中的多边形),广泛用于地理位置的配置中。向用户展示在指定位置上有哪些产品可用,根据特定需求(比如机场)定义区域,在同时有多人请求搭车的周边区
Uber 很早之前就说过,公司未来的雄心目标不仅限于拉人送客,还要送货。上门干洗服务工具 Dryv 使用 UberRUSH 为用户提供更多选择:Dryv 是一家位于芝加哥的上门干洗服务工具,在使用了 UberRUSH 的 API 接口后,就可以为客户提供更多的选择。 2015年,Uber就推出了一小时送快递上门的同城快递服务UberRUSH。为了进一步拓展自己的这项服务,Uber于今年1月份开始测试向第三方商家开放UberRUSH的API接口。近日、UberRush的API接口将结束测试,正式向所有人开放
几个月前,我们讨论到 Uber 决定将原有的整体单一式代码库更换成模块化、更具灵活性的微服务架构。 从那时起,Uber 有许多工程师投入了数千小时,改造拓展 Uber 微服务的生态环境。新的架构使用了多种语言以及很多不同的框架结构,鉴于重构任务非常庞大,我们也利用此机会在 Uber 使用了一套新的微服务构建技术。借助适合 SOA 迁移的技术堆栈及标准,我们改进了在 Uber 开发服务的方式。 开始一项新服务 在 一家快速成长的工程类公司,想要追踪所有进行中的任务是非常困难的,需要有相应的方法,才能避免各
几个月前,我们讨论到 Uber 决定将原有的整体单一式代码库更换成模块化、更具灵活性的微服务架构。从那时起,Uber 有许多工程师投入了数千小时,改造拓展 Uber 微服务的生态环境。新的架构使用了多种语言以及很多不同的框架结构,鉴于重构任务非常庞大,我们也利用此机会在 Uber 使用了一套新的微服务构建技术。借助适合 SOA 迁移的技术堆栈及标准,我们改进了在 Uber 开发服务的方式。 开始一项新服务 在一家快速成长的工程类公司,想要追踪所有进行中的任务是非常困难的,需要有相应的方法,才能避免各团队工作
<数据猿导读> Uber数据可视化团队的理念是将Uber后台的大量数据,通过数据可视分析工具实现情报分析。Uber系统每天需要管理近十亿GPS数据。Uber的数据可视化其实是用很多种方式为我们讲故事。
UBER这款让人又爱又恨的打车软件已经潜入我们的生活,他们从来不说他们是出租车公司,他们说自己是大数据企业。那么他们是如何做大数据的呢?往下看看吧。 前言 2015年初,UBER 开始正式组建数据可视化团队。其理念,是将UBER 后台的大量数据,通过数据可视分析工具实现情报分析。UBER 系统每天需要管理近十亿GPS数据。每一分钟,这个平台都要处理数以百万计算的移动数据。如果不用这项技术去分析和理解这些信息或时间,就等于错过了更全面了解业务的机会。 自成立以来,UBER 数据可视化团队已经从只有一名创
欢迎回看本文原始视频 http://t.cn/RjSC0KQ 本篇为Uber系列技术文章第一篇 今天我们解读的是Uber公司的Curis所分享的Uber架构从0到1,这是Uber非常早期的视频分享,我们之后会逐渐讲从1到万,以及更进一步各种RingPop的架构。 首先谈到Uber的初心,他们想实现一键打车功能。左边是Uber最早期的界面,大家可以看到跟现在有很大的区别,按一下就可以打到车了。 Uber的最初架构 为了支持这样的服务,Uber最初的架构是怎么样的呢?会很复杂吗?其实不会。 前面是一
近来,一些关于面向服务架构的话题,特别是针对微服务架构的弊端这个话题上进行了大量的讨论。虽然在几年前,微服务架构受到很多人的青睐,因为它们提供了许多好处,如独立部署的灵活性、明确的所有权、系统稳定性的改善以及更好的分离问题等优点。但是不久,就开始有人吐槽微服务会大幅增加系统复杂性,有时甚至连一些简单的功能都难以构建。
原作者 Billy Charlton 编译 CDA 编译团队 本文为 CDA 数据分析师原创作品,转载需授权 Uber 和 Lyft 是美国主要的两个打车应用。数据科学家对其在旧金山的出行数据进行了可视化,发现每日行程超过20万人次。 我叫 Billy Charlton,Because LLC 公司的创始人,西雅图的普吉特区域理事会的前数据总监。我擅长交通规划领域,因为这对我们的城市和日常生活有直接的影响。 最近,旧金山交通管理局发布了 Uber 和 Lyft 的城市出行数据,这是史无前例的。加在一起,
在数据库圈子,大家都知道2016年 Uber 干出来一件大事件,把 PostgreSQL 切换到了 MySQL,当时社区里一阵喧哗。这里想带着大家思考一下选择的背后。
Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架 React Native。 React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。 React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建
这两天面试遇到的 candidate 水平都不错,带他们去公司的食堂吃饭,大家聊的话题无非是加州的阳光好呀,加州的房子贵呀,加州的姑娘少呀,blablabla. 除此之外,技术栈也是大家喜欢聊的,从前端到后端,从 iOS 到 Android, 从 big data 到 machine learning…… 这年头,你司的技术栈不酷都不好意思跟别人打招呼。 既然大家这么关心每个公司的技术栈 (stack), 今天就简单晒晒几个典型的技术栈。如有不准确之处,请大家指点。 技术栈趋势 Microsoft / Go
转自:FreeBuf.COM,编译:FB小编clouds 近期,俄罗斯渗透测试人员Vladimir Ivanov发现了反勒索数据备份服务商Code42的一个XXE 0day漏洞,利用该漏洞可以从使用Code42服务的公司窃取相关备份数据,这些公司包括Uber、Adobe、Lockheed Martin(洛克希德马丁)等。作者在这篇文章中分享了该漏洞的发现过程。 Code 42,成立于2007年,最初以个人数据保护和备份软件起家,随后便逐渐拓展到了企业数据备份和反勒索服务领域。目前该公司在全球管理并保护着大量
近年来,API 网关成了微服务架构中不可或缺的一部分。API 网关为 Uber 所有的应用程序提供一个统一入口,并提供了一个从后端微服务访问数据、逻辑或功能的接口。同时,它还提供了一个集中的地方来实现许多高级职责,包括路由、协议转换、速率限制、负载削减、丰富头信息并传播、数据中心亲缘性限定、安全审计、用户访问阻塞、移动客户端生成等。
今天分享的writeup是香港白帽Ron Chan (@ngalongc)发现的一个关于Uber网站的漏洞,他通过分析Uber的微服务架构和其中的API调用机制,利用其中的服务端响应缺陷,能以SSRF和目录遍历(PAth Traversal)方式获取到服务端为用户分配的token信息,从而实现对用户的账户劫持。虽然整个漏洞利用构造链亮点不多,但“Old but GOLD”,姜还是老的辣,漏洞还是老的好。
安卓操作系统的软件开发语言是Java,而在过去几年中,有关Java的版权,谷歌(微博)和甲骨文之间发生了长期的诉讼。最新外媒消息称,谷歌正在考虑将苹果开发的Swift作为未来安卓软件开发的“一级”语言
Argos是我们的内部异常检测工具,负责分析进来的度量指标,并基于历史数据,将它们与预测模型进行比对,从而确定当前数据是不是在预期范围内。
如今全栈工程师在企业工作中占有的地位越来越高,无论是前端工程师,还是后端工程师,都在拼命向全栈发展!学习的方式有很多,大部分是喜欢通过书籍来学习新知识,今天,我们一起来盘点一下全站开发的大佬都推荐些什么书,这里我们罗列出最受推荐的十本书,希望能对大家有帮助!
注意下面很多链接需要科学上网,无奈国情如此 1. TensorFlow开发者峰会昨天召开,我觉得有趣的演讲有 - TF Hub ("一键"transfer learning) - Swift支持 (Chris Lattner原来去Google Brain就是做这个) - tensorflow.js (deeplearn.js升级版) - performance tuning (这个部分我觉得讲的特别好) - TensorBoard Debugger (wow,牛B的工具!) - TF Lite (TF M
题目源码如下: https://github.com/LoRexxar/HCTF2017-A-World-Restored
作者 | Uber Engineering 译者 | Sambodhi 策划 | 赵钰莹 本文最初发布于 Uber 官方博客,InfoQ 经授权翻译如下 Uber 的目的就是要让全世界变得更好,而大数据是一个非常重要的部分。Presto 和 Apache Kafka 在 Uber 的大数据栈中扮演了重要角色。Presto 是查询联盟的事实标准,它已经在交互查询、近实时数据分析以及大规模数据分析中得到应用。Kafka 是一个支持很多用例的数据流中枢,比如 pub/sub、流处理等。在这篇文章中,我们
在 JS 程序中,为了实现漂亮的图形、图表和数据可视化,我们选择使用开源库。生活在数据爆炸的时代,我们开发的每一个应用程序几乎都使用或者借助数据来提升用户体验。为了帮助你轻松地为你最喜欢的应用程序添加漂亮的数据可视化,这里列出了 2019 年最好的 JavaScript 数据可视化库(排名不分先后)。
Uber的目标是通过让世界运转来激发机遇,而大数据是其中非常重要的一部分。 Presto® 和 Apache Kafka® 在 Uber 的大数据堆栈中发挥着关键作用。 Presto 是查询联合的事实标准,已用于交互式查询、近实时数据分析和大规模数据分析。 Kafka 是支持许多用例的数据流的骨干,例如发布/订阅、流处理等。在接下来的文章中,我们将讨论我们如何将这两个重要的服务连接在一起,以通过Uber大规模Presto集群直接在 Kafka 上的实现轻量级、交互式 SQL 查询。
为了解决前文提到的将共有的属性放进原型中这种模式产生的子对象覆盖掉父对象同名属性的问题,就出现了另一种模式,我们称作为临时构造函数模式
在厦门人工智能峰会上,依图科技联合创始人、CEO朱珑介绍到短短的5年时间机器的算法水平又提升了100万倍!过去或许只能从1万人中识别出1个人,后来发展到1000万、1亿、10亿甚至20亿人中识别出这个人!与此同时,算力方面提升了10万倍。从过去用1万量级规模的数据做训练,到百万规模的数据做训练,到现在用10亿的数据集做训练,又提升了1万倍!
本文由哔哩哔哩前端工程师 墨白 翻译分享 我喜欢移动app,而且也是那些坚持使用Web技术构建移动应用程序的人之一。 经过技术的不断迭代(可能还有一些其它的东西),移动体验设计愈来愈平易近人,给予用户
选自Mybridge 机器之心编译 参与:李泽南 2017 年里哪些机器学习项目最受人关注?Mybridge 为我们整理了一份 Top 30 列表,以下所有项目均附有 GitHub 链接。 我们对比了近 8800 个开原机器学习项目,并挑选了其中最好的 30 个列举于此。这是一个非常具有竞争力的列表,其中包含 2017 年 1 月-12 月份开源的各类优秀机器学习库、数据集和应用。Mybridge AI 通过流行度、参与度和新鲜程度来对它们进行评级。先给你一个直观印象:它们的 GitHub 平均 stars
根据彭博社消息, Otto 联合创始人Lior Ron重新回到 Uber 领导 Uber Freight 业务。据了解,Lior Ron曾在今年三月离开Uber,而Lior Ron回归之际,正是 Uber 收购 Otto Trucking 接近尾声的时候,作为收购的一部分,Otto Trucking 的股东将获得 Uber Freight 的股份。之前Uber曾收购Otto 的自动驾驶业务,曾受到 Waymo 的指控,称 Otto 与 Uber 策划窃取商业机密案。(via.PingWest)
作者 | Uber 工程博客 译者 | 志勇 策划 | 赵钰莹 在大规模分布式系统的负载均衡中,子集是一种常用的技术。本文,我们将简要介绍 Uber 目前的服务网格架构,2016 年以来,这一架构已经为 Uber 数以千计的关键微服务提供了支持。接下来,我们将会探讨尝试在网格架构中扩大任务的数目所面临的挑战,并会探讨最初的子集方法的问题。本文最后给出了如何提出实时动态子集的解决方案,以及在生产中的结果。 Uber 服务网格 什么是服务网格? 服务网格有很多种不同的定义,但我们的定义是:
Pinot 是一个实时分布式的 OLAP 数据存储和分析系统。使用它实现低延迟可伸缩的实时分析。Pinot 从脱机数据源(包括 Hadoop 和各类文件)和在线数据源(如 Kafka)中获取数据进行分析。Pinot 被设计成可进行水平扩展。Pinot 特别适合这样的数据分析场景:查询具有大量维度和指标的时间序列数据、分析模型固定、数据只追加以及低延迟,以及分析结果可查询。本文介绍了 Pinot 在 Uber 的应用情况。
Go语言已经为开发者内置配套了很多性能调优监控的好工具和方法,这大大提升了我们profile分析的效率。此外本文还将重点介绍和推荐uber开源的go-torch,其生成的火焰图更方便更直观的帮我们进行性能调优。我也是在实际一次的性能调优中,接触到go-torch,非常棒。 go tool pprof简介 Golang内置cpu, mem, block profiler Go强大之处是它已经在语言层面集成了profile采样工具,并且允许我们在程序的运行时使用它们,使用Go的profiler我们能获取以下的样
编辑导语 Uber面向中印开发者公布SDK,支持第三方应用集成服务;连连支付Money20/20首秀,跨境支付业务引关注;智能办公管理服务ManagedByQ,获2500万美元B轮投资;工作宝即将推出
Uber 的业务遍布全球,每天需要处理全球数百万人次的出行,实时性对 Uber 而言非常重要。在一次行程中,多个参与者可以修改和查看正在进行中的行程状态,这需要实时更新。无论是取车时间、到达时间、路线还是在打开应用时附近的司机数量,所有参与者和应用都必须保持实时信息同步。本文介绍了 Uber 如何通过轮询保持信息实时更新以及基于 gRPC 双向流协议构建应用。
领取专属 10元无门槛券
手把手带您无忧上云