High-speed data synchronization server--doozer

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

Yesterday in the discussion of the new architecture of the platform, but also said to engage in a configuration management services, convenient interface management. And I saw this today ... Did the character break out?
All right, no nonsense, translate Doozer's README directly. Doozer I have not measured, but feel, if really like the README above said that, still very useful, very useful.

The key-this thing provides the go interface. (Add, forget to say, this is developed with Go)
The project code is hosted here: Doozer.
———————-Translation Split Line ———————-

Doozer

What is it?

Doozer is a highly available, fully-consistent storage for small, extremely important data. When the data changes, it immediately notifies the incoming client (not cached), and is ideal for those clients that are rarely updated, but who want the update to occur at a high real-time. Doozer is ideal for name services, master database selection, and configuration data synchronization between multiple devices. Know when you should use it? Below, there is detailed information.

Discuss Doozer with other users and developers via mailing lists.

Quick Start

    1. Download Doozerd
    2. Unzip
    3. Start Doozerd
            $ doozerd
    4. Set a key and read it again
            $ echo "Hello, World" | Doozer set/message 0      $ doozer get/message      11046      Hello, world
    5. 5. Visit http://localhost:8080 to view messages

How does it work?

Doozer is a network service. A ticket machine (usually three or five or seven) each runs a Doozer service process. These processes communicate using a standard, fully-consistent, distributed integrity algorithm. The client accesses one or more Doozer servers, issuing commands such as GET, SET, and WATCH, and receiving a response.

(Insert a network structure diagram here)

Each doozerd process replicates a single copy of the data store and provides read-write requests; there is no difference between "master" or "leader". Doozer is designed to store data that can be stored in memory; it never writes data to a persisted file. A standalone tool provides persistent storage for backup and recovery.

When should I use it?

Here are some scenarios:

    1. Name Service
      There are several machines that provide services for HTTP requests. When a hardware failure occurs, one of these machines is broken, and you replace it with a new machine on the other network address. Because the TTL of the original DNS record causes the client to cache for a period of time, the update of the DNS data arrives at the client, which may take some time.
      Instead of DNS, you can use Doozer. Clients can subscribe to the names they are interested in, and then the client receives a notification when the addresses of those names change.
    2. Master database Selection
      The MySQL system was deployed. To make it highly available, a slave server is added to another physically separate machine. When the primary server is abnormal, you can change one from the server to the primary server. At any time, the client needs to know which server is the primary server, and when there is a problem, it needs to be coordinated from the server.
      You can use Doozer to store the address of the current primary server and any information needed to reconcile when an exception occurs.
    3. Configuration
      There are processes on several different machines, and expect them to use the same configuration files, which are not updated periodically. It is important that all processes use the same configuration.
      Save the configuration file in Doozer, and then have the process read the configuration from the Doozer.

What can I do for this project?

See Protocol Description view command list

A similar project

Doozer is similar to the following software:

* Apache Zookeeper http://zookeeper.apache.org/
* Google Chubby http://labs.google.com/papers/chubby.html

Hacking on Doozer

* Hacking on Doozer
* Mailing List

Licenses and Authors

Doozer published at the MIT license. See LICENSE for more information.

Doozer is created by Blake Mizerany and Keith Rarick. Input

Git shortlog-s

Get a complete list of contributors.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.