Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9326dde

Browse files
author
Solomon Hykes
committed
Introduction & history of zerorpc, and toning down the apologetic language while we're at it.
1 parent e75955f commit 9326dde

File tree

1 file changed

+5
-14
lines changed

1 file changed

+5
-14
lines changed

doc/protocol.md

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,11 @@ This document attempts to define the ZeroRPC protocol.
66

77
## Introduction & History
88

9-
A short warning: we know that some parts of the protocol are not very elegant.
10-
Some things can certainly be optimized. You will certainly think that some
11-
parts are... weird. This is because ZeroRPC started as a simple tool to
12-
solve a simple problem. And progressively, it became the core of all
13-
inter-services communications at dotCloud (<http://www.dotcloud.com>),
14-
and was refined, improved, enriched, to satisfy the needs of the dotCloud
15-
platform.
16-
17-
Keep in mind that ZeroRPC keeps evolving: we add new features to solve
18-
the new problems that we meet every day.
19-
20-
Of course, we want to weed out the discrepancies and "weird" behaviors
21-
of the protocol; but we also need to keep some backward compability,
22-
and that's painful indeed.
9+
ZeroRPC is a modern communication layer for distributed systems built on top of ZeroMQ, developed by dotCloud since 2010 and open-sourced in 2012. It features a dead-simple API for exposing any object or module over the network, and a powerful gevent implementation which supports multiple ZMQ socket types, streaming, heartbeats and more. It also includes a simple command-line tool for interactive querying and introspection. The platform team at dotCloud uses it in production to transmit millions of messages per day across hundreds of services.
10+
11+
ZeroRPC uses ZMQ as a transport, but uses a communication protocol that is transport-agnostic. For a long time the reference documentation for that protocol was the python code itself. However since its recent surge in popularity many people have expressed interest in porting it to other programming languages. We hope that this standalone protocol documentation will help them.
12+
13+
A short warning: ZeroRPC started as a simple tool to solve a simple problem. It was progressively refined and improved to satisfy the growing needs of the dotCloud platform. The emphasis is on practicality, robustness and operational simplicity - sometimes at the expense of formal elegance and optimizations. We will gladly welcome patches focused on the latter so long as they don't hurt the former.
2314

2415
> The python implementation of zerorpc act as a reference for the whole
2516
> protocol. New features and experiments are implemented and tested in this

0 commit comments

Comments
 (0)