首页
学习
活动
专区
工具
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.3K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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

    97820

    UBER数据大迁徙

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

    2.2K70

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

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

    70850

    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

    1K50

    Uber系统架构设计

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

    1.3K10

    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正在成为世界上最大的用车服务公司。

    74740

    关于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 了

    75350

    Uber微部署的工程实践

    因此,不断扩大的工程师团队阻碍了Uber人工服务的进一步扩展,有时甚至还会导致其长时间宕机。 如何才能确保每天的稳定部署?为此,Uber开发了微部署(Micro Deploy,简称μDeploy)。...它是Uber的内部部署系统,其构建、更新和回滚服务都是基于Uber进行。 每日部署进程 代码在经过审核、接受和全部单项测试之后,被收入知识库,从而进入预生产阶段,这时Uber工程师就会使用到微部署。...从工程师编写代码,到该代码被运用到Uber生产系统当中,中间几乎没有过渡阶段。自Uber推出首代μDeploy以来,其发展就从未减缓。...支持Node.js的JavaScript?还是支持Docker,没有容器的Go、Java?答案都是肯定的。μDeploy构建系统利用不同的软件栈调控多种编程语言和设备。...Uber工程师亦遍布数个国家和大洲的12个工作室。99%的Uber软件支持μDeploy。微部署在任何场合下赋予工程师的所有权都高速、自主,并且是端对端的。

    85850

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券