From c4e4711b93fc46da92d07e18a6fa3f7eb07bed99 Mon Sep 17 00:00:00 2001 From: winlin Date: Wed, 16 Sep 2015 13:55:11 +0800 Subject: [PATCH] add kafka protocol --- ...uideToTheKafkaProtocol-160915-0553-82964.pdf | Bin 0 -> 51678 bytes trunk/doc/readme.txt | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 trunk/doc/KAFKA-AGuideToTheKafkaProtocol-160915-0553-82964.pdf diff --git a/trunk/doc/KAFKA-AGuideToTheKafkaProtocol-160915-0553-82964.pdf b/trunk/doc/KAFKA-AGuideToTheKafkaProtocol-160915-0553-82964.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b820fcd17610970b41ac0858b6cc88e4ef734a33 GIT binary patch literal 51678 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

s1x_+O|*v7gj)E;`p$ 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 Zw*}5*oD+HHiVDX7_A&DFD`}o({4c#wY}fz* literal 0 HcmV?d00001 diff --git a/trunk/doc/readme.txt b/trunk/doc/readme.txt index 6de58c500..df8994d11 100644 --- a/trunk/doc/readme.txt +++ b/trunk/doc/readme.txt @@ -66,5 +66,9 @@ arpa-internet-text-messages-rfc822.txt mp3规范: mp3.id3v2.3.0.pdf http://id3.org/id3v2.3.0 + +kafka协议: +KAFKA-AGuideToTheKafkaProtocol-160915-0553-82964.pdf + https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol Winlin