首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Uber到LinkedIn,聪明人都在用​Node.js

Node.js 8已经发布了,NPM模块每周下载量早已超过10亿,从Uber到LinkedIn都在使用Node.js,谁说JavaScript不能写后台?...1、Uber 在过去的两年里,Uber的规模每半年就会翻倍。Node.js之所以被选中,正是由于它强大的数据处理能力。...Uber需要为用户和司机提供可靠的服务,因此用车需求增加时,需要扩展服务,这是另外一个考虑因素。...根据How Uber Uses Node.js to Scale Their Business,Uber选择Node.js的原因如下: 它可以高效稳定地处理大量数据 错误分析很方便,可以加快开发进度 拥抱开源...,因此技术持续进步 Uber每天可以处理20亿个远程过程调用(Remote Procedure Call,RPC),足以证明Node.js的成功。

1.2K00
您找到你想要的搜索结果了吗?
是的
没有找到

Uber Go语言规范

Uber公司推出的Go语言规范,建议没看过的同学看一遍,内容同步到了我的GitHub上,后续会补充一些case,感兴趣的同学可以点击原文查看 介绍 指南 退出一次 错误类型 错误包装 错误命名 指向interface...Mutexes的零值是有效的 在边界拷贝Slices和Maps 使用Defer释放资源 Channel大小应为0或1 枚举从1开始 使用time包来处理时间 错误 处理断言失败 不要使用Panic 使用go.uber.org...本指南的目的是通过详细描述在Uber编写Go代码的注意事项来管理这种复杂性。这些规则的存在是为了保持代码库的可管理性,同时还允许工程师有效地使用Go语言的特性。...这记录了我们在 Uber 所遵循的 Go 代码中的习惯性约定。...= nil { t.Fatal("failed to set up test")} 使用 go.uber.org/atomic 使用 sync/atomic 包的原子操作对数据类型进行操作(int32

93420

UBER数据大迁徙

想象一下如果你必须在几个星期内迁移数以亿计的数据和100多个服务项目,同时还要保持UBER被几百万的乘客正常使用,这是多么艰巨的任务啊!...而以下这个故事就是关于数十名工程师是如何帮助UBER在2014年迁移到Mezzanine的故事。...背景 就像大多数基于网络服务的公司那样,UBER后端系统一开始是采用“单一化”的软件架构,其中包括一群应用服务器和一个单独的数据库。...对于UBER平台,它一切如常。这一起就像万圣节,可能看起来吓人,但其实只是娱乐一下! 教训总结 要使用UUID(通用唯一识别码):请始终使用的UUID。...UBER积极心态!有一个积极和敢做的态度会使全队全力以赴创造辉煌。 自从我们迁移了大数据以来,我们已经增加了一倍的路径存储了,且实现了零死机,并实施了许多性能和运营改进。

2.1K70

警方披露Uber撞人案细节,解密Uber自动驾驶系统

据称,Uber 在撞上该行人时,正处在自动驾驶状态。...事故初步调查结果表明,Uber 的自动驾驶汽车在限速 35 英里的地区,但它以 38 英里的时速超速行驶,在事故发生前并没有任何减速刹车的迹象。...▌解密 Uber 自动驾驶系统 “意外进入行驶路径”的事情几乎是自动驾驶汽车工程师首先考虑的突发事件。...特斯拉自动驾驶系统Autopilot主要依赖雷达 根据 Uber 部署的雷达数量不同,其提供的距离像可能存在巨大差异。Uber 很可能在汽车前后部署了多个雷达,以实现 360 度无死角覆盖。...因此像 Waymo 和 Uber 这样的公司开始依赖“机器学习”系统,通过分析大量的路面数据来让系统自动模拟学习车辆的行为。

68550

Uber 现在的技术构成

Uber 经过6年的快速发展,技术构成已经非常复杂,下面看下 Uber 官方公布的技术栈 底层基础 使用混合云模式,结合了多个云服务提供商,全球多个数据中心,如果一个数据中心出错,马上转到另一个,开通了...Uber服务的城市,会被分配到物理距离最近的数据中心,并且每个城市的数据都会备份到一个异地数据中心,所有的数据中心都是运行态的,没有单独作为备份的数据中心 在存储方面,以一个 Postgres 数据库起步...后来使用了HTTP的替代协议,例如 SPDY、HTTP/2、TChannel,结合接口定义语言,如 Thrift、Protobuf,在系统的速度和可靠性上都很有帮助 开发与部署 开发语言主要是 Python Node.js...Go Java,初期使用 Python 和 Node.js,后来为了高性能的需求,采用了 Java 和 Go Java 还有非常丰富的开源生态系统,例如 Hadoop 和其他分析工具,而 Go 的特点很明确...的技术构成比较复杂,有开源工具,有自研系统,也开源了一些自己的东西 内容整理自Uber官网发布的文章,原文内容更多,地址 https://eng.uber.com/tech-stack-part-one

98550

Uber系统架构设计

Uber 一开始是单体架构,后来逐渐演化为面向服务的架构。Uber 最早只为旧金山提供服务,他们称之为 UberBlack。...在单一代码库中添加新功能、修复 bug、解决技术债务变得非常困难,这也是为什么 Uber 后来采用面向服务的架构的原因,这也促使 Uber 工程团队重构了新的 Uber 应用。...据 Uber 称,激励有助于满足供给需求,通过提高价格,当需求增加时,路上会有更多的出租车。...Uber 维护了一个备份数据中心,交换机已经准备好将所有数据都路由到备份数据中心,唯一的问题是正在进行的行程的数据可能没有备份。...---- DISCO — Uber 系统的基础 供给服务(在司机端操作) 请求服务(在乘客端操作) 调度优化(或称 DISCO,Dispatch optimization)是 Uber 系统的一部分,用于基于位置数据匹配需求和供给

1.1K10

Uber 的 Docker Mysql 应用

背景介绍 Uber的MySQL集群规模很大,超过1000个集群,共有4000多个数据库服务器。...Docker虽好,但Uber也给出了一点建议: 在规模不够大时,不要轻易使用Docker,因为使用Docker之后,你需要处理更多的事情,例如 镜像的构建管理、容器的监控、Docker升级、日志处理、网络规划...……,所以,规模较小时,使用 Puppet、Ansible 这类的工具就够用了,例如Uber的情况,MySQL集群数量在16个以下时,用 Puppet 管理就比较轻松。...小结 通过以上内容,我们可以对Uber的MySQL Docker方案有个大概了解,主要由以下4部分构成: 无状态的MySQL容器 整体集群拓扑结构的配置文件 agents,每台主机上的工作者,负责本机上容器的创建...内容整理自Uber官方博客,原文地址:https://eng.uber.com/dockerizing-mysql

1.2K90

硅谷,职业Uber司机正在兴起

Uber进入中国北上广之后,车队规模太小导致在广州番禺这样的偏远地段很难叫到车,这又偏偏是人们需要用Uber这一服务的时候,山景城的荒凉甚过广州番禺或者北京大兴,预约一辆Uber X,候车时间一般在10...这段时间我坐过大约10来次UBer,均是低配的Uber X,车型大都为Toyota Camry或同级。...这是接我的一位Uber司机,来自巴基斯坦 按照Uber要求,Uber汽车需在前窗显眼位置贴上Uber提供的标识,以便乘客发现。...Uber确实通过互联网真正颠覆了出租车行业,与出租车行业的博弈一直存在,美国甚至上演过出租车司机集体罢工抗议Uber的事件,一些地方政府已经开始阻止Uber,譬如Las Vegas,就无法叫到Uber,...还有一些Uber司机以前就是做出租车司机的,现在转投Uber行业。因为自己给自己做事,而不是给出租车公司打工——被他们所忽视的是,现在是为Uber打工,Uber正在成为世界上最大的用车服务公司。

72140

关于Uber选择MySQL的思考

在数据库圈子,大家都知道2016年 Uber 干出来一件大事件,把 PostgreSQL 切换到了 MySQL,当时社区里一阵喧哗。这里想带着大家思考一下选择的背后。...在该事件中,Uber 提出来迁移的一个重要原因是:在大量更新的业务场景下 PostgreSQL 的 IO 方面有过多的开销(主要是从存储结构上说明),对于使用 SSD 或是 PCI-E 卡的设备基本无法容忍写放大...Uber 针对这些需求也和其它互联网厂家一样,尝试过Cassandra, Riak,MongoDB,也想过自研,但最终选择了MySQL 作为存储层。 这里反问一下: MySQL 能满足上面的需求吗?...例如: SchemaLess 存储支持 写缓冲能力,较快的故障切换 较好的扩容能力 大家的印象里第一条 Schemaless 都可以把MySQL秒了,但从文章里看 Uber 技术负责人:Jakob Thomsen...也正是这两个特性,正好满足 Uber 的需求,基于 NoSQL 接口存储,底层数据保障使用 MySQL 的 Replication 复制(MySQL Group Replication 马上也 GA 了

73050

Uber首席架构师聊架构

微服务模式的利弊 微服务模式允许使用不同的开发语言,例如一些服务使用 Node.js,一些使用 Python,一些使用 Go,另一些使用 Java,Uber就是这样,并还有 Scala 使用微服务,可以让每个团队自己掌握他们的发布周期...,自己对服务的在线负责 就是因为每个团队只负责自己的事情,所以在很多时候会降低整体速度,例如,java开发团队必须明确他们应该如何与某个系统沟通,而同样的事情还要在 Node.js 与 Go 的团队做一遍...再比如,在某个平台上经过奋战解决了某些bug,同样的,其他平台可能还需要战斗一遍 对于多语言混合使用的代价预估不足,超出了预期 在新员工的工作效率方面,微服务起到了很好的效果,由于Uber的高速发展,...大量新员工加入,正是因为使用了微服务,降低了系统理解的难度,使新员工可以快速进入工作状态 Uber的大体架构 Uber在全世界建立了很多数据中心,就是为了让用户与数据的距离更近,还可以提高系统的可用性...调度系统在Uber中很重要,之前使用 Node.js 开发,后来这个系统扩展到了非常大的规模,便逐渐迁移到了 Go 和 Java 大部分高计算量的服务都是使用 Java 开发,例如地图服务,需要大量计算预计达到时间和规划行程路线

58270

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券