mongoz

An alternative implementation of MongoDB sharding server aimed at high availability

  • 所有者: yandex/mongoz
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Mongoz is a replacement for MongoDB sharding server (mongos)
aimed at higher availability in less-than-absolutely-reliable
network environments at expense of somewhat relaxed
consistency guarantees.

Some distinguishing features of mongoz include:

  • Hard timeouts: each operation has to finish in predefined time.
    In case of network failures, clients get their errors early
    (i.e. they don't have to wait for i/o timeout from operating system)
    and thus are much less likely to face a DoS.

  • Early request retransmission: if there's more than one replica
    capable of handling a request, mongoz can be configured to retransmit
    a request to another replica before a timeout occurs and return whichever
    reply comes first. That way, even a network failure in the middle
    of a performing request does not neccessarily lead to any errors
    reported to clients.

  • Config caching: mongoz does not query its config servers
    upon a specific event (like incoming connection or authentication attempt).
    Instead, it keeps its local copy of the whole cluster config and
    synchronizes it periodically with config servers. As a result,
    unavailable config servers (even all of them) still
    don't render the whole cluster unusable.

Mongoz strictly obeys MongoDB wire protocol and thus can be used
as a drop-in replacement for mongos. Moreover, it can freely coexist
with mongos within a same MongoDB cluster if neccessary.

More detailed description of mongoz features can be found in its man page.

主要指标

概览
名称与所有者yandex/mongoz
主编程语言C++
编程语言Makefile (语言数: 5)
平台
许可证MIT License
所有者活动
创建于2016-08-23 10:27:17
推送于2017-02-03 13:54:27
最后一次提交2017-02-03 16:47:26
发布数0
用户参与
星数32
关注者数7
派生数6
提交数18
已启用问题?
问题数0
打开的问题数0
拉请求数0
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?