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

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

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

    UBER数据大迁徙

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

    2.2K70

    Uber 现在的技术构成

    Uber 经过6年的快速发展,技术构成已经非常复杂,下面看下 Uber 官方公布的技术栈 底层基础 使用混合云模式,结合了多个云服务提供商,全球多个数据中心,如果一个数据中心出错,马上转到另一个,开通了...Uber服务的城市,会被分配到物理距离最近的数据中心,并且每个城市的数据都会备份到一个异地数据中心,所有的数据中心都是运行态的,没有单独作为备份的数据中心 在存储方面,以一个 Postgres 数据库起步...Kafka 集群,然后被多处消费,例如 Hadoop、文件存储系统、实时处理服务等等 日志的搜索和可视化使用了 ELK(Elasticsearch, Logstash, Kibana) 服务发现和路由 Uber...使用SOA架构,在其复杂的网络环境中,各个服务之间必须可以互相沟通,通过结合使用 HAProxy 和 Hyperbahn 来解决这个问题 Hyperbahn 是 Uber 开源的一套服务发现和路由系统,...的技术构成比较复杂,有开源工具,有自研系统,也开源了一些自己的东西 内容整理自Uber官网发布的文章,原文内容更多,地址 https://eng.uber.com/tech-stack-part-one

    1K50

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

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

    71250

    Uber系统架构设计

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

    1.3K10

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

    75840

    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.3K90

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

    76250

    Uber微部署的工程实践

    因此,不断扩大的工程师团队阻碍了Uber人工服务的进一步扩展,有时甚至还会导致其长时间宕机。 如何才能确保每天的稳定部署?为此,Uber开发了微部署(Micro Deploy,简称μDeploy)。...它是Uber的内部部署系统,其构建、更新和回滚服务都是基于Uber进行。 每日部署进程 代码在经过审核、接受和全部单项测试之后,被收入知识库,从而进入预生产阶段,这时Uber工程师就会使用到微部署。...从工程师编写代码,到该代码被运用到Uber生产系统当中,中间几乎没有过渡阶段。自Uber推出首代μDeploy以来,其发展就从未减缓。...下面列举出一些类似Uber的基础设施系统,他们在构建部署系统时所需的几大要素: 服务架构一致性:对Uber来说,微部署是适用于各类服务的集成构建系统。是支持Tornado的Python?...Uber工程师亦遍布数个国家和大洲的12个工作室。99%的Uber软件支持μDeploy。微部署在任何场合下赋予工程师的所有权都高速、自主,并且是端对端的。

    86750

    定了,Uber将在Uber Eats,自动驾驶和其他部门裁员约350人

    Uber首席执行官Dara Khosrowshahi在在10月15日的一封电子邮件中对员工说,Uber刚刚裁员了组织内各个团队的约350名员工,这是该公司今年初开始的裁员的第三阶段也是最后一个阶段。...受影响的人员包括来自Uber Eats,绩效营销,Advanced Technologies Group和HR的员工,以及全球平台部门的各个团队。同时还要求一些员工重新选择工作地点。...这是在是在Uber裁员其产品和工程团队的435名员工一个月后,以及Uber从其营销团队裁掉约400名员工不到三个月之后的第三次裁员。 到今天为止,Uber的大多数部门都受到裁员的影响。...在2019年第二季度,Uber亏损超过50亿美元,是迄今为止最大的季度收入损失,尽管其部分亏损是由于该公司在5月份进行首次公开募股后基于股票的员工薪酬支出所致。...Uber将于11月4日公布其第三季度收益。该公司目前的股价为每股31.26美元,远低于其45美元的发行价。

    34330

    优步(Uber)准备将“优步美食”( Uber Eats)印度业务出售给Zomato(Apps)

    image.png 三名知情人士告诉科技博客TechCrunch,优步(Uber)与当地竞争对手Zomato就在印度销售外卖服务“优步美食”(Uber Eats)的谈判已进入后期阶段,这家美国叫车服务巨头正寻求削减其全球支出...其中一位消息人士称,该交易目前对Uber Eats印度业务的估值约为4亿美元。...如果交易成功,这将标志着这家美国巨头一年来与Zomato和Prosus ventures支持的Swiggy就出售Uber Eats的印度业务进行了多次谈判的努力画上句号。...尽管这家叫车服务巨头为赢得客户提供了大量折扣,但Uber Eats从未对Zomato和斯威基构成真正的威胁,这两家公司每天都要处理100多万份订单。...此外,最近几个季度,Uber Eats遇到了更多麻烦,两名关键高管——Bhavik Rathod (Uber Eats的印度和东南亚主管)和Deepak Reddy (Uber Eats的印度中心运营主管

    48710
    领券