Uber 如何使用 Mesos 的?答曰:和 Cassandra 一起用

2016-10-26 20:17:46 +08:00
 dataman

过完程序员节吃完蛋糕,让我们动力十足地开始新一轮的学习吧! 今天小数为大家带来的是一篇 Uber 海外工程师的演讲视频解读,让我们一边听着纯正的英语(大雾)一边看着 PPT 一边来了解 Uber 的容器技术世界吧:)

如果你是 Uber 公司,你需要存储司机和乘客 APP 每 30 秒发出的位置信息,有大量的实时数据需要实时使用,你该如何做呢?

Uber 的解决方案是综合性的。他们建立了一套系统,将 Cassandra 跑在 Mesos上面。在一个演讲中 Uber 的软件工程师非常好的解释了这个系统( https://www.youtube.com/watch?v=4Ap-1VT2ChU&feature=youtu.be ,小数表示是非常纯正的印度英语)。

如今的开发们总是有太多艰难的决定要做。我们应该全部都投入到云吗?哪一个云?贵不贵?会不会厂商锁定?我们是否应该两条路一起来尝试然后做个混合架构?因为担心平台毛利达不到 50%,我们是否应该全部自研?

Uber 决定打造他们自己的系统,或者说他们打算把当下两个十分能干的开源组件结合在一起。让 Cassandra 和 Mesos 一起工作,就是 Uber 选择的方式。

Uber 做出这个决定并不困难。他们资金充足,有着顶级的人才和资源去开发、维持以及升级这个复杂的系统。

自从 Uber 的目标确定为让每个人、每个地方的运输实现 99.99%的可用,在扩大规模的同时想要控制开销就变得非常有意义。

用金钱来换时间通常是一笔好交易。用金钱来买技能也常常是很有必要的。考虑到 Uber 可靠性的目标, 10000 个请求只有一个允许失败,他们需要运作多个数据中心。 Cassandra 被证明可以处理数据中心大量的负载和工作,于是数据中心就帮 Uber 做了这个决定。

如果你想让运输系统可靠到达每个人每个地方,那么就需要高效地利用你的资源。这是使用数据中心操作系统例如 Mesos 背后的想法。通过统计相同机器上的复用服务,就可以减掉 30%的机器,节省了一笔不小的费用。 Mesos 之所以被选中,是因为在那时它是唯一生产环境里被证实可以管理数万集群的工具,这正是 Uber 需要的, Uber 要做的系统规模确实很大。

还有哪些更有趣的发现呢?

最初

现在

生产环境

Mesos

Apache Cassandra

Dcos-Cassandra-Service

文章来源: High Scalability 版权归原作者所有 http://highscalability.com/blog/2016/9/28/how-uber-manages-a-million-writes-per-second-using-mesos-and.html

1952 次点击
所在节点    云计算
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/315713

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX