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?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?