Bifrost Document

Version 1.1.0

Bifrost ---- 面向生产环境的 MySQL 同步到 Redis,MongoDB 等服务的异构中间件

Bifrost 为什么还不支持集群?

有不少用户,一直在问 Bifrost 什么时候支持集群功能

虽然有用户一直很想要集群功能,包括我本人在内,也很想立马就支持集群

有集群多好呀,高可用,还可以多台机器同时干活,立马就高大尚了

咋先下分析一下宕机等情况,再来聊集群

一个应用宕机有哪些情况?

  1. 数据流量大,硬件扛不住了

  2. linux 内核宕机

  3. 物理机断电,硬件挂了等情况

  4. 应用逻辑BUG,数据有问题,造成内存泄露等OOM

  5. 逻辑bug,空指针等致使性错误

哪些情况造成的宕机概率最大?

  1. 数据流量大了,这个升级硬件配置就行,如果只是数据计算同步的中间件,数据都不太存储的内存的需要很高的硬件么?

  2. linux 内核宕机 ?我想请问一下,你见过几次 linux 内核宕机的?即使见到了,你确定是 linux 内核 bug 造成的吗?

  3. 物理机断电,主板坏了等情况,概率真有说的那么大吗?你又不是整个数据中心的机器

  4. 应用逻辑bug 造成的宕机,才是我们现实中遇到最多最多的情况,网络句柄没关闭,异常没处理,内存泄露OOM

小结

在实际工作中,我们很大一部分时间其实都是在处理线上高可用,分布式遇到的各种问题

工作经验告诉我们,很多开源系统的高可用,可能并不是我们想象中的那样高可用,尤其是那些对数据一致性有要求的场景,说实话很多问题

在实际工作中,绝大多数项目,一开始就各种分布式,高可用设计的项目,最后都死了。

功能越多,又分布式,高可用,非常难排查问题。

Bifrost 是一个面向生产环境的产品,对生产环境抱有敬畏之心。

Bifrost 并不想在一个项目刚开始的时候,就设计成各种 分布式,高可用等。

Last updated on 3 Dec 2019
Edit on GitHub