Repository: incubator-rocketmq-site Updated Branches: refs/heads/master c7babbf4e -> 414fa48a0
Perfect best-practise-for-producer closes apache/incubator-rocketmq-site#2 Project: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/commit/414fa48a Tree: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/tree/414fa48a Diff: http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/diff/414fa48a Branch: refs/heads/master Commit: 414fa48a0b6f6914d98f0f272e595d8088e63e4e Parents: c7babbf Author: dongeforever <[email protected]> Authored: Fri Dec 30 19:05:39 2016 +0800 Committer: yukon <[email protected]> Committed: Fri Dec 30 19:05:39 2016 +0800 ---------------------------------------------------------------------- _docs/best-practice-producer.md | 5 +++-- content/about/contact/index.html | 2 +- content/about/team/index.html | 2 +- content/docs/best-practice-broker/index.html | 2 +- content/docs/best-practice-consumer/index.html | 2 +- content/docs/best-practice-namesvr/index.html | 2 +- content/docs/best-practice-producer/index.html | 9 +++++---- content/docs/cli-admin-tool/index.html | 2 +- content/docs/cluster-deployment/index.html | 2 +- content/docs/code-guidelines/index.html | 2 +- content/docs/core-concept/index.html | 2 +- content/docs/faq/index.html | 2 +- content/docs/motivation/index.html | 2 +- content/docs/pull-request/index.html | 2 +- content/docs/quick-start/index.html | 2 +- content/feed.xml | 2 +- 16 files changed, 22 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/_docs/best-practice-producer.md ---------------------------------------------------------------------- diff --git a/_docs/best-practice-producer.md b/_docs/best-practice-producer.md index 56f8794..7307a74 100644 --- a/_docs/best-practice-producer.md +++ b/_docs/best-practice-producer.md @@ -20,9 +20,10 @@ If the Broker's role is SYNC_MASTER(default is ASYNC_MASTER), but no slave Broke ### SEND_OK You should be aware that SEND_OK does not mean it is reliable. If you cannot tolerate message missing, you should also enable SYNC_MASTER or SYNC_FLUSH. ### Duplication or Missing -If you get FLUSH_DISK_TIMEOUT, FLUSH_SLAVE_TIMEOUT or SLAVE_NOT_AVAILABLE, and the Broker happens to shutdown right the moment, you may get your message missing. +If you get FLUSH_DISK_TIMEOUT, FLUSH_SLAVE_TIMEOUT and the Broker happens to shutdown right the moment, you may get your message missing. At this time, you have two choices, one is letting it go, which may get message missing; another is resending, which may get message duplication. Often we suggest resend and make a way to handle the duplication removal when consuming. Unless you feel it does not matter when some messages are missed. +But be ware that resending has no use when you get SLAVE_NOT_AVAILABLE, you'd better keep the scene and send some alerts to the Cluster Manager. ## Timeout The Client send requests to Broker, and wait the responses, but if the max wait time is elapsed and no response is return, the Client will throw a RemotingTimeoutException. The default wait time is 3 seconds.You can also pass timeout argument using send(msg, timeout) instead of send(msg). @@ -32,7 +33,7 @@ We suggest the message should be no more than 512K. ## Async Sending Default send(msg) will block until the response is return. So if you care about performance, we suggest you use send(msg, callback) which will act in a async way. ## Producer Group -Normally, the producer group has no effects. But if you use transaction, you should take care of it. +Normally, the producer group has no effects. But if you are involved in transaction, you should pay attention to it. In default, you can only create only one producer with the same producer group in the same JVM. Usually, this is enough. ## Thread Safety The producer is thread-safe, you can just use it in your business logic. http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/about/contact/index.html ---------------------------------------------------------------------- diff --git a/content/about/contact/index.html b/content/about/contact/index.html index ba3cd24..3fd5c28 100644 --- a/content/about/contact/index.html +++ b/content/about/contact/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/about/team/index.html ---------------------------------------------------------------------- diff --git a/content/about/team/index.html b/content/about/team/index.html index 01b832c..d8c80f3 100644 --- a/content/about/team/index.html +++ b/content/about/team/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/best-practice-broker/index.html ---------------------------------------------------------------------- diff --git a/content/docs/best-practice-broker/index.html b/content/docs/best-practice-broker/index.html index c14cda3..a3a2491 100644 --- a/content/docs/best-practice-broker/index.html +++ b/content/docs/best-practice-broker/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/best-practice-consumer/index.html ---------------------------------------------------------------------- diff --git a/content/docs/best-practice-consumer/index.html b/content/docs/best-practice-consumer/index.html index 0a1b52a..1bd3d1d 100644 --- a/content/docs/best-practice-consumer/index.html +++ b/content/docs/best-practice-consumer/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/best-practice-namesvr/index.html ---------------------------------------------------------------------- diff --git a/content/docs/best-practice-namesvr/index.html b/content/docs/best-practice-namesvr/index.html index 402a326..2d4a357 100644 --- a/content/docs/best-practice-namesvr/index.html +++ b/content/docs/best-practice-namesvr/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/best-practice-producer/index.html ---------------------------------------------------------------------- diff --git a/content/docs/best-practice-producer/index.html b/content/docs/best-practice-producer/index.html index 705a833..fffbdb1 100644 --- a/content/docs/best-practice-producer/index.html +++ b/content/docs/best-practice-producer/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> @@ -358,9 +358,10 @@ Follow are the descriptions about each status.</p> <h3 id="send_ok">SEND_OK</h3> <p>You should be aware that SEND_OK does not mean it is reliable. If you cannot tolerate message missing, you should also enable SYNC_MASTER or SYNC_FLUSH.</p> <h3 id="duplication-or-missing">Duplication or Missing</h3> -<p>If you get FLUSH_DISK_TIMEOUT, FLUSH_SLAVE_TIMEOUT or SLAVE_NOT_AVAILABLE, and the Broker happens to shutdown right the moment, you may get your message missing. +<p>If you get FLUSH_DISK_TIMEOUT, FLUSH_SLAVE_TIMEOUT and the Broker happens to shutdown right the moment, you may get your message missing. At this time, you have two choices, one is letting it go, which may get message missing; another is resending, which may get message duplication. -Often we suggest resend and make a way to handle the duplication removal when consuming. Unless you feel it does not matter when some messages are missed.</p> +Often we suggest resend and make a way to handle the duplication removal when consuming. Unless you feel it does not matter when some messages are missed. +But be ware that resending has no use when you get SLAVE_NOT_AVAILABLE, youâd better keep the scene and send some alerts to the Cluster Manager.</p> <h2 id="timeout">Timeout</h2> <p>The Client send requests to Broker, and wait the responses, but if the max wait time is elapsed and no response is return, the Client will throw a RemotingTimeoutException. The default wait time is 3 seconds.You can also pass timeout argument using send(msg, timeout) instead of send(msg). @@ -370,7 +371,7 @@ Note that we do not suggest the value to be too small, for the Broker need some <h2 id="async-sending">Async Sending</h2> <p>Default send(msg) will block until the response is return. So if you care about performance, we suggest you use send(msg, callback) which will act in a async way.</p> <h2 id="producer-group">Producer Group</h2> -<p>Normally, the producer group has no effects. But if you use transaction, you should take care of it. +<p>Normally, the producer group has no effects. But if you are involved in transaction, you should pay attention to it. In default, you can only create only one producer with the same producer group in the same JVM. Usually, this is enough.</p> <h2 id="thread-safety">Thread Safety</h2> <p>The producer is thread-safe, you can just use it in your business logic.</p> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/cli-admin-tool/index.html ---------------------------------------------------------------------- diff --git a/content/docs/cli-admin-tool/index.html b/content/docs/cli-admin-tool/index.html index b1a07af..1700631 100644 --- a/content/docs/cli-admin-tool/index.html +++ b/content/docs/cli-admin-tool/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/cluster-deployment/index.html ---------------------------------------------------------------------- diff --git a/content/docs/cluster-deployment/index.html b/content/docs/cluster-deployment/index.html index a096f53..b07acf0 100644 --- a/content/docs/cluster-deployment/index.html +++ b/content/docs/cluster-deployment/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/code-guidelines/index.html ---------------------------------------------------------------------- diff --git a/content/docs/code-guidelines/index.html b/content/docs/code-guidelines/index.html index c2f828d..8db79cd 100644 --- a/content/docs/code-guidelines/index.html +++ b/content/docs/code-guidelines/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/core-concept/index.html ---------------------------------------------------------------------- diff --git a/content/docs/core-concept/index.html b/content/docs/core-concept/index.html index f113822..7bcc745 100644 --- a/content/docs/core-concept/index.html +++ b/content/docs/core-concept/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/faq/index.html ---------------------------------------------------------------------- diff --git a/content/docs/faq/index.html b/content/docs/faq/index.html index 0f26981..d896580 100644 --- a/content/docs/faq/index.html +++ b/content/docs/faq/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/motivation/index.html ---------------------------------------------------------------------- diff --git a/content/docs/motivation/index.html b/content/docs/motivation/index.html index 6cf8709..a37059f 100644 --- a/content/docs/motivation/index.html +++ b/content/docs/motivation/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/pull-request/index.html ---------------------------------------------------------------------- diff --git a/content/docs/pull-request/index.html b/content/docs/pull-request/index.html index e8df10f..bb50860 100644 --- a/content/docs/pull-request/index.html +++ b/content/docs/pull-request/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/docs/quick-start/index.html ---------------------------------------------------------------------- diff --git a/content/docs/quick-start/index.html b/content/docs/quick-start/index.html index 80391cf..fe8bfee 100644 --- a/content/docs/quick-start/index.html +++ b/content/docs/quick-start/index.html @@ -57,7 +57,7 @@ <meta property="og:type" content="article"> - <meta property="article:published_time" content="2016-12-30T19:02:19+08:00"> + <meta property="article:published_time" content="2016-12-30T19:04:24+08:00"> http://git-wip-us.apache.org/repos/asf/incubator-rocketmq-site/blob/414fa48a/content/feed.xml ---------------------------------------------------------------------- diff --git a/content/feed.xml b/content/feed.xml index 42aaa45..4b9886d 100644 --- a/content/feed.xml +++ b/content/feed.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xml" href="/feed.xslt.xml"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="http://jekyllrb.com" version="3.3.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2016-12-30T19:02:19+08:00</updated><id>//</id><title type="html">Apache RocketMQ</title><subtitle>The homepage of RocketMQ.</subtitle><author><name>{"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"[email protected]", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, &quo t;facebook"=>nil, "foursquare"=>nil, "github"=>"apache/incubator-rocketmq", "google_plus"=>nil, "keybase"=>nil, "instagram"=>nil, "lastfm"=>nil, "linkedin"=>nil, "pinterest"=>nil, "soundcloud"=>nil, "stackoverflow"=>"questions/tagged/rocketmq", "steam"=>nil, "tumblr"=>nil, "twitter"=>"ApacheRocketMQ", "vine"=>nil, "weibo"=>nil, "xing"=>nil, "youtube"=>nil, "quora"=>"topic/RocketMQ"}</name><email>[email protected]</email><uri>http://incubator.staging.apache.org/projects/rocketmq.html</uri></author><entry><title type="html">Mastering Component Compatible Dependency</title><link href="/maven/mastering-component-compatible-dependency/" rel="alternate" type="text/html" title="Mastering Component Compatible Dependency" /><published>2016-12-23T00:00:00+08:00</published><updated>2016-12-23T00:00:00+08:00</updated><id>/maven/mastering-component-compatible-dependency</id><content type="html" xml:base="/maven/mastering-component-compatible-dependency/"><p>This article mainly includes three parts.at first,I will introduce compatibility principle(more details see <a href="http://blog.csdn.net/fengjia10/article/details/7799227">here</a>) briefly.followed by a detailed elaborating about Java component compatible dependency,including the interface-oriented programming,single component signature protection,single component compatibility protection and multi-component compatibility compile time checking.Finally is the review and prospect,especially about <strong>Dependency Mediator</strong> project.</p> +<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xml" href="/feed.xslt.xml"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="http://jekyllrb.com" version="3.3.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2016-12-30T19:04:24+08:00</updated><id>//</id><title type="html">Apache RocketMQ</title><subtitle>The homepage of RocketMQ.</subtitle><author><name>{"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"[email protected]", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, &quo t;facebook"=>nil, "foursquare"=>nil, "github"=>"apache/incubator-rocketmq", "google_plus"=>nil, "keybase"=>nil, "instagram"=>nil, "lastfm"=>nil, "linkedin"=>nil, "pinterest"=>nil, "soundcloud"=>nil, "stackoverflow"=>"questions/tagged/rocketmq", "steam"=>nil, "tumblr"=>nil, "twitter"=>"ApacheRocketMQ", "vine"=>nil, "weibo"=>nil, "xing"=>nil, "youtube"=>nil, "quora"=>"topic/RocketMQ"}</name><email>[email protected]</email><uri>http://incubator.staging.apache.org/projects/rocketmq.html</uri></author><entry><title type="html">Mastering Component Compatible Dependency</title><link href="/maven/mastering-component-compatible-dependency/" rel="alternate" type="text/html" title="Mastering Component Compatible Dependency" /><published>2016-12-23T00:00:00+08:00</published><updated>2016-12-23T00:00:00+08:00</updated><id>/maven/mastering-component-compatible-dependency</id><content type="html" xml:base="/maven/mastering-component-compatible-dependency/"><p>This article mainly includes three parts.at first,I will introduce compatibility principle(more details see <a href="http://blog.csdn.net/fengjia10/article/details/7799227">here</a>) briefly.followed by a detailed elaborating about Java component compatible dependency,including the interface-oriented programming,single component signature protection,single component compatibility protection and multi-component compatibility compile time checking.Finally is the review and prospect,especially about <strong>Dependency Mediator</strong> project.</p> <aside class="sidebar__right"> <nav class="toc">
