
同学是RuNet中Apache Cassandra的最大用户,也是世界上最大的用户之一。 我们从2010年开始使用Cassandra来存储照片评分,现在Cassandra可以管理数千个节点上的PB数据,此外,我们甚至开发了自己的
NewSQL事务数据库 。
9月12日,我们将在我们圣彼得堡的办公室
举行专门针对Apache Cassandra的
第二次会议 。 活动的主要发言人将是总工程师Odnoklassnikov Oleg Anastasiev。 Oleg是分布式和容错系统领域的专家,他与Cassandra一起工作了10多年,并
在会议上反复
谈论了该产品的功能 。
在会议前夕,我们与Oleg讨论了Cassandra的分布式系统的容错能力,询问他在会议上将要谈论什么以及为什么值得参加此活动。
Oleg的职业生涯始于1995年。 在银行,电信,运输领域开发软件。 自2007年以来,他一直是Odnoklassniki的领先开发人员,并担任平台团队的成员。 他的职责包括开发高负载系统,大型数据仓库的体系结构和解决方案,解决门户的生产率和可靠性问题。 他还从事公司内部开发人员的培训。
-奥列格,你好! 今年五月,专门针对Apache Cassandra的第一次会议举行了,与会者说讨论一直持续到深夜,请告诉我,您对第一次会议的印象是什么?来自不同公司的具有不同背景的开发人员带来了痛苦,出乎意料的问题解决方案和惊人的故事。 我们能够以讨论的形式主持大部分会议,但是讨论如此之多,以至于我们只能涉及所概述主题的三分之一。 我们以实际的生产服务为例,非常关注我们如何监视和监视什么。
我很感兴趣,真的很喜欢。
-根据公告判断, 第二个mitap将完全用于容错,您为什么选择此主题?Cassandra是典型的加载式分布式系统,除了直接服务于用户请求外,还具有大量功能:八卦,故障检测,模式更改分布,扩展/减少集群,反熵,备份和恢复等。 就像在任何分布式系统中一样,随着铁含量的增加,发生故障的可能性也会增加,因此,Cassandra生产集群的运行需要对设备的深刻理解,以预测发生故障和操作员行动时的行为。 在使用Cassandra多年的过程中,我们
已经积累了丰富的专业知识 ,可以随时分享,并且我们还希望讨论同事如何解决典型问题。
-说到Cassandra,容错是什么意思?当然,首先,系统具有抵御典型硬件故障的能力:机器,磁盘丢失或与节点/数据中心的网络连接性。 但是,主题本身涉及面更广,尤其包括从故障中恢复,包括故障,人们很少为此做好准备,例如操作员错误。
-您能否举一个最大的数据集群和最大的数据集群的例子?礼品集群是我们最大的集群之一:超过200个节点和数百TB的数据。 但是它不是负载最重的,因为它由分布式缓存覆盖。 我们最繁忙的集群拥有成千上万的RPS用于写作和成千上万的RPS用于阅读。
-哇! 什么东西多久坏一次?是的,不断 ! 总共,我们有超过6000台服务器,并且每周更换几台服务器和几十个磁盘(不考虑并行升级过程和扩展车辆数量)。 对于每种类型的故障,都会清晰地说明执行的方式和顺序,并在可能的情况下将所有操作自动执行,因此故障是例行的,在99%的情况下,故障不会被用户注意到。
-您为这种失败而苦苦挣扎吗?从开始运行Cassandra到发生第一个事件,我们从中确定了备份和恢复机制,建立了部署过程,考虑了Cassandra群集的状态,例如,防止了可能丢失数据的节点重启。 我们计划在会议上讨论所有这一切。
-正如您所说,绝对可靠的系统不存在。 您正在准备哪些类型的故障并且能够生存?如果我们谈论Cassandra集群的安装,如果我们在一个DC或整个DC中丢失了几台计算机,用户将不会注意到任何事情(发生这种情况)。 随着DC数量的增加,我们正在考虑开始确保两个DC发生故障时的可操作性。
-您认为Cassandra在容错方面缺乏什么?像许多其他早期的NoSQL存储库一样,Cassandra需要对其内部结构和正在进行的动态过程有深入的了解。 我要说的是,她缺乏简单性,可预测性和可观察性。 但是,听到会议其他参与者的意见将很有趣!
奥列格(Oleg),非常感谢您抽出宝贵时间回答问题!
9月12日在圣彼得堡办公室举行的会议上,我们正在等待所有想要与Apache Cassandra运营领域的专家交谈的人。
来吧,这将很有趣!
注册参加活动。