免责声明:以下所有内容均来自公共资源或纯粹原创。 这里不包含优步的涉密内容。

要求

  • 为全球的交通运输市场提供服务
  • 大规模的实时调度
  • 后端设计

架构

uber architecture

为何要微服务?

Conway定律 软件的系统结构会对应企业的组织结构。

单体 服务 微服务
当团队规模和代码库很小时,生产力 ✅ 高 ❌ 低
当团队规模和代码库很大时,生产力 ❌ 低 ✅ 高 (Conway定律)
对工程质量的要求 ❌ 高 (能力不够的开发人员很容易破坏整个系统) ✅ 低 (运行时是隔离的)
dependency 版本升级 ✅ 快 (集中管理) ❌ 慢
多租户支持 / 生产-staging状态隔离 ✅ 容易 ❌ 困难 (每项服务必须 1) 要么建立一个staging环境连接到其他处于staging状态的服务 2) 要么跨请求上下文和数据存储的多租户支持)
可调试性,假设相同的模块,参数,日志 ❌ 低 ✅ 高 (如果有分布式tracing)
延迟 ✅ 低 (本地) ❌ 高 (远程)
DevOps成本 ✅ 低 (构建工具成本高) ❌ 高 (容量规划很难)

结合单体 代码库 和微服务可以同时利用两者的长处.

调度服务

  • 由geohash提供一致的哈希地址
  • 数据在内存中是瞬态的,因此不需要复制. (CAP: AP高于CP)
  • 分片中使用单线程或者锁,以防止双重调度

支付服务

关键是要有异步设计, 因为跨多个系统的ACID交易支付系统通常具有非常长的延迟.

用户档案服务和行程记录服务

  • 使用缓存降低延迟
  • 随着 1) 支持更多的国家和地区 2) 用户角色(司机,骑手,餐馆老板,食客等)逐渐增加,为这些用户提供用户档案服务也面临着巨大的挑战。

通知推送服务

  • 苹果通知推送服务 (不可靠)
  • 谷歌云消息服务GCM (它可以检测到是否成功递送) 或者
  • 短信服务通常更可靠

任务相关成熟度

5079 2019-02-07 16:10

安迪格鲁夫强调:管理者最重要的责任是激发他的下属做出最佳的表现

不幸的是,没有一种管理风格适合各种场景下的所有人。找到最佳管理风格的基本变量是下属的任务相关成熟度(TRM)。

部属的工作成熟度 有效的领导风格
组织化; 以任务为导向; 面向细节; 准确地指出“什么时候-什么事情-怎么做”的细节模式
以人为本; 给予支持,“双向沟通”模式
以目标为导向的“监控”模式

一个人的任务相关的成熟度取决于具体的工作项目,它的改进需要时间。 当任务相关的成熟度达到最高水平时,这个人的知识水平和积极性就会达到一定高度,让他的管理者能够顺利地把工作委派给他。

这其中的关键是管理方式无所谓好坏,只有有效和无效

什么是“变化厌恶”?

总的来说,“变化厌恶”就是每当你改变人们经常在产品中使用到的东西时,用户中会出现骚动和反对的声音。这种骚动几乎会出现在如 Gmail,YouTube,iPhone 等产品的每一个版本中。

如何减轻甚至避免“变化厌恶”?

  1. 让用户能够事先知晓、事后理解。事先把新版本的重大改变告知用户,并向其阐述做出这些改变的原因,事后要给出如何过渡的指导。
  2. 允许用户自由切换。不要断绝用户切换回原版本的渠道,不要让他们落入孤立无助的境地。
  3. 持续跟进用户的反馈。

不要让“变化厌恶”成为没把事情做好的借口

随着时间的推移,产品的改变究竟是好是坏,人们终究会得到答案。

change aversion patterns

自1990年以来,互联网的 402 Payment Required 的状态码早就设计好了,但是过了接近三十年,互联网支付还没有做到无缝体验。

  1. 我在网上看到篇文章只是想交个钱支持一下,你偏要我创建账户,创建密码,填信用卡号,完了还要收没完没了的垃圾邮件
  2. 支付应该像浏览器一样方便,一键交钱,不用填账号,用 crypto token 就成,但是中心化的支付会被大公司垄断
  3. 内容创造者不得不和广告绑定,只有大玩家能赢,他们还变得要钱不要脸
  4. 互联网亟需能够激励创意、保护隐私的基础构架。 虽然 Bitcoin 不是答案,blockchain 会有机会

东西方职场文化之异同

10876 2019-01-18 01:50

这里是一些不成熟的小看法,我没有在中国工作过,所以按照我在学校的所闻所见填写到中国人这一栏里面。

美国人看重 中国人看重
说服力
公开演讲是民主社会的基础
桃李不言下自成蹊
君子欲讷于言而敏于行
情绪化是令人羞愧/不专业的事情
虚伪/专业化
性情中人
撕破脸
开会是为了决定事情 开会是为了最后拍板
喜欢钻石 喜欢玉
自信
不行也得说行
我比其他人厉害
谦虚
行也得说不行
其他人比我厉害
独立思考
挑战权威
团队精神
服从力和执行力

美国人中国人都看重

  • 商业嗅觉
  • 愿景和战略决策能力
  • 团结就是力量 (我过去所共事的中国人都非常团结,虽然很多人对此有偏见)
  • 人比事情重要,关系决定事情
  • 应对VUCA的灵活性

硅谷IO

软件工程与创业
© 2018 硅谷IO
Built with ❤️ in San Francisco