-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
-
-
-
-
-
-
-
-
-
- Architecture & Design - - - - - - - -
- Communication Protocol - - - - - - - -
- Persistence - - - - - - - -
- Replication - - - - - - - -
- Service Discovery & Load Balance - - - - - - - -
- Message Filter - -
Quick Start
Prerequisite
The following softwares are assumed installed:
-
-
- 64bit OS, best to have Linux/Unix/Mac; +
- 64bit OS, Linux/Unix/Mac is recommended;
- 64bit JDK 1.7+;
- Maven 3.2.x
- Git @@ -410,14 +345,15 @@
- - + Stackoverflow diff --git a/content/rocketmq/how-to-support-more-queues-in-rocketmq/index.html b/content/rocketmq/how-to-support-more-queues-in-rocketmq/index.html index b60774e307..acb0cd49cc 100644 --- a/content/rocketmq/how-to-support-more-queues-in-rocketmq/index.html +++ b/content/rocketmq/how-to-support-more-queues-in-rocketmq/index.html @@ -226,7 +226,7 @@
- - + Stackoverflow diff --git a/content/tags/index.html b/content/tags/index.html index ec5d23285f..91500068de 100644 --- a/content/tags/index.html +++ b/content/tags/index.html @@ -221,7 +221,7 @@
- - + Stackoverflow diff --git a/content/year-archive/index.html b/content/year-archive/index.html index e4be353fc8..a1a857853a 100644 --- a/content/year-archive/index.html +++ b/content/year-archive/index.html @@ -221,7 +221,7 @@
- - + Stackoverflow diff --git a/favicon.ico b/favicon.ico index e3e2b10c18..bbfd06297b 100644 Binary files a/favicon.ico and b/favicon.ico differ diff --git a/home.md b/home.md index 683c1c4f71..4bc94d449e 100644 --- a/home.md +++ b/home.md @@ -4,23 +4,39 @@ permalink: / header: overlay_color: "#5e616c" overlay_image: /assets/images/rmq-home-page.jpg - cta_label: " Try it Now" + cta_label: " Getting Started" cta_url: "/docs/quick-start/" caption: -excerpt: 'Apache RocketMQ is a low latency, reliable, scalable, distributed message-oriented middleware, especially for processing large amounts of streaming data.
Prerequisite
Clone & Build
- > git clone https://github.com/alibaba/RocketMQ.git
- > cd RocketMQ
- > sh install.sh
- > cd devenv
+ > git clone https://github.com/apache/incubator-rocketmq.git
+ > cd incubator-rocketmq
+ > mvn clean package install assembly:assembly -U
+ > cd target/apache-rocketmq-broker/apache-rocketmq/
Start Name Server
+
> nohup sh bin/mqnamesrv &
> tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
@@ -425,6 +361,7 @@ Start Name Server
Start Broker
+
> nohup sh bin/mqbroker -n localhost:9876 &
> tail -f ~/logs/rocketmqlogs/broker.log
The broker[%s, 172.30.30.233:10911] boot success...
@@ -437,84 +374,23 @@ Send & Receive Messages
Before sending/receiving messages, we need to tell clients where name servers are located. RocketMQ provides multiple ways to achieve this. For simplicity, we use environment variable NAMESRV_ADDR
> export NAMESRV_ADDR=localhost:9876
- > sh bin/tools.sh com.alibaba.rocketmq.example.quickstart.Producer
+ > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
- > sh bin/tools.sh com.alibaba.rocketmq.example.quickstart.Consumer
+ > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
-Code Example
+Shutdown Servers
-prepare
-<dependency>
- <groupId>com.alibaba.rocketmq</groupId>
- <artifactId>rocketmq-client</artifactId>
- <version>3.5.8</version>
-</dependency>
-
-
-
-Producer
-
-import com.alibaba.rocketmq.client.exception.MQClientException;
-import com.alibaba.rocketmq.client.producer.DefaultMQProducer;
-import com.alibaba.rocketmq.client.producer.SendResult;
-import com.alibaba.rocketmq.common.message.Message;
-import com.alibaba.rocketmq.remoting.common.RemotingHelper;
-public class Producer {
- public static void main(String[] args) throws MQClientException, InterruptedException {
- DefaultMQProducer producer = new DefaultMQProducer("YOUR_PRODUCER_GROUP"); // (1)
- producer.setNamesrvAddr("localhost:9876"); //(2) set name server explicitly
- producer.start(); // (3)
- for (int i = 0; i < 1000; i++) {
- try {
- Message msg = new Message("TopicTest",// topic // (4)
- "TagA",// tag (5)
- ("Hello RocketMQ " + i).getBytes(RemotingHelper.DEFAULT_CHARSET)// body (6)
- );
- SendResult sendResult = producer.send(msg); // (7)
- System.out.println(sendResult);
- } catch (Exception e) {
- e.printStackTrace();
- Thread.sleep(1000);
- }
- }
- producer.shutdown();
- }
-}
-
-
+> sh bin/mqshutdown broker
+The mqbroker(36695) is running...
+Send shutdown request to mqbroker(36695) OK
-Consumer
-
-import com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer;
-import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
-import com.alibaba.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
-import com.alibaba.rocketmq.client.consumer.listener.MessageListenerConcurrently;
-import com.alibaba.rocketmq.client.exception.MQClientException;
-import com.alibaba.rocketmq.common.consumer.ConsumeFromWhere;
-import com.alibaba.rocketmq.common.message.MessageExt;
-import java.util.List;
-
-public class Consumer {
- public static void main(String[] args) throws InterruptedException, MQClientException {
- DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("YOUR_CONSUMER_GROUP"); // (1)
- consumer.setNamesrvAddr("localhost:9876"); // (2)
- consumer.subscribe("TopicTest"/*topic*/, "*"/*tag,* means all tags*/); // (3)
- consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET); // (4)
- consumer.registerMessageListener(new MessageListenerConcurrently() {
- @Override
- public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
- System.out.println(Thread.currentThread().getName() + " Receive New Messages: " + msgs);
- return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
- }
- }); //(5)
- consumer.start(); //(6)
- System.out.println("Consumer Started.");
- }
-}
+> sh bin/mqshutdown namesrv
+The mqnamesrv(36664) is running...
+Send shutdown request to mqnamesrv(36664) OK
@@ -527,7 +403,7 @@ Consumer
- Updated:
+ Updated:
diff --git a/content/favicon.ico b/content/favicon.ico
index e3e2b10c18..bbfd06297b 100644
Binary files a/content/favicon.ico and b/content/favicon.ico differ
diff --git a/content/feed.xml b/content/feed.xml
index 9c2e8ab92e..f22e19c9de 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -1,4 +1,4 @@
-Jekyll 2016-12-29T14:51:32+08:00 // Apache RocketMQ The homepage of RocketMQ. {"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"dev@rocketmq.incubator.apache.org", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, "facebook"=>nil, "foursquare"=>nil, "github"=>"apache/incubator-rocketmq", "google_plus"=>nil, "keybase"=>nil, "instagram"=>nil, "lastfm"=>nil, "linkedin"=>nil, "pinterest"=>nil, "soundcloud"=>nil, "stackoverflow"=>"http://stackoverflow.com/questions/tagged/rocketmq", "steam"=>nil, "tumblr"=>nil, "twitter"=>"ApacheRocketMQ", "vine"=>nil, "weibo"=>nil, "xing"=>nil, "youtube"=>nil, "quora"=>"topic/RocketMQ"} dev@rocketmq.incubator.apache.org http://incubator.staging.apache.org/projects/rocketmq.html Mastering Component Compatible Dependency 2016-12-23T00:00:00+08:00 2016-12-23T00:00:00+08:00 /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>
+Jekyll 2016-12-29T17:30:22+08:00 // Apache RocketMQ The homepage of RocketMQ. {"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"dev@rocketmq.incubator.apache.org", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, "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"} dev@rocketmq.incubator.apache.org http://incubator.staging.apache.org/projects/rocketmq.html Mastering Component Compatible Dependency 2016-12-23T00:00:00+08:00 2016-12-23T00:00:00+08:00 /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">
@@ -278,7 +278,7 @@ setting checkJars to true or nothing to do with this property,it will further an
<p>Through this article, you almost calculated the evolution process of the <strong>Dependency Mediator</strong> project.in my opinion,integration with the maven enforcer plugin may be a better choice.After all,I hope <strong>Dependency Mediator</strong> can keep sustainable development.I would try and donate this project to codehaus in the near future.</p>
-<p>If you have better idea or improving suggestion, please contact <a href="mailto:dev@rocketmq.incubator.apache.org">dev@rocketmq.incubator.apache.org</a>.</p> {"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"dev@rocketmq.incubator.apache.org", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, "facebook"=>nil, "foursquare"=>nil, "github"=>"apache/incubator-rocketmq", "google_plus"=>nil, "keybase"=>nil, "instagram"=>nil, "lastfm"=>nil, "linkedin"=>nil, "pinterest"=>nil, "soundcloud"=>nil, "stackoverflow"=>"http://stackoverflow.com/questions/tagged/rocketmq", "steam"=>nil, "tumblr"=>nil, "twitter"=>"ApacheRocketMQ", "vine"=>nil, "weibo"=>nil, "xing"=>nil, "youtube"=>nil, "quora"=>"topic/RocketMQ"} dev@rocketmq.incubator.apache.org http://incubator.staging.apache.org/projects/rocketmq.html This article mainly includes three parts.at first,I will introduce compatibility principle(more details see here) 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 Dependency Mediator project. How to Support More Queues in RocketMQ? 2016-12-23T00:00:00+08:00 2016-12-23T00:00:00+08:00 /rocketmq/how-to-support-more-queues-in-rocketmq <h1 id="summary">Summary</h1>
+<p>If you have better idea or improving suggestion, please contact <a href="mailto:dev@rocketmq.incubator.apache.org">dev@rocketmq.incubator.apache.org</a>.</p> {"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"dev@rocketmq.incubator.apache.org", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, "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"} dev@rocketmq.incubator.apache.org http://incubator.staging.apache.org/projects/rocketmq.html This article mainly includes three parts.at first,I will introduce compatibility principle(more details see here) 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 Dependency Mediator project. How to Support More Queues in RocketMQ? 2016-12-23T00:00:00+08:00 2016-12-23T00:00:00+08:00 /rocketmq/how-to-support-more-queues-in-rocketmq <h1 id="summary">Summary</h1>
<p>Kafka is a distributed streaming platform, which was born from <a href="https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying">logging aggregation cases</a>. It does not need too high concurrency. In some large scale cases in alibaba, we found that the original model has been unable to meet our actual needs. So, we developed a messaging middleware, named RocketMQ, which can handle a broad set of use cases, ranging from traditional publish/subscribe scenario to demandingly high volume realtime transaction system that tolerates no message loss. Now, in alibaba, RocketMQ clusters process more than 500 billion events every day, provide services for more than 3000 core applications.</p>
@@ -352,4 +352,4 @@ setting checkJars to true or nothing to do with this property,it will further an
</li>
<li>Because ConsumeQueue stores little information, mainly associated with consumption locations.also, supports random read. Under PAGECACHE prefetch control, read performance almost keep consistent with the main memory, even if in the message accumulation cases. In this particular case,ConsumeQueue will not hinder the read performance.</li>
<li>CommitLog stores all the meta information, including the message data. similar db’s redolog. So as long as CommitLog exists, even if the ConsumeQueue data is lost, data can be recovered.</li>
-</ol> {"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"dev@rocketmq.incubator.apache.org", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, "facebook"=>nil, "foursquare"=>nil, "github"=>"apache/incubator-rocketmq", "google_plus"=>nil, "keybase"=>nil, "instagram"=>nil, "lastfm"=>nil, "linkedin"=>nil, "pinterest"=>nil, "soundcloud"=>nil, "stackoverflow"=>"http://stackoverflow.com/questions/tagged/rocketmq", "steam"=>nil, "tumblr"=>nil, "twitter"=>"ApacheRocketMQ", "vine"=>nil, "weibo"=>nil, "xing"=>nil, "youtube"=>nil, "quora"=>"topic/RocketMQ"} dev@rocketmq.incubator.apache.org http://incubator.staging.apache.org/projects/rocketmq.html Summary
+</ol> {"name"=>nil, "avatar"=>"/assets/images/rmq-logo.png", "bio"=>"A fast, low latency, reliable, scalable, distributed MOM.", "location"=>"Hangzhou, China", "email"=>"dev@rocketmq.incubator.apache.org", "uri"=>"http://incubator.staging.apache.org/projects/rocketmq.html", "bitbucket"=>nil, "codepen"=>nil, "dribbble"=>nil, "flickr"=>nil, "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"} dev@rocketmq.incubator.apache.org http://incubator.staging.apache.org/projects/rocketmq.html Summary
diff --git a/content/index.html b/content/index.html
index 083483db13..925daa17bf 100644
--- a/content/index.html
+++ b/content/index.html
@@ -18,7 +18,7 @@
-
+
@@ -30,13 +30,13 @@
-
+
-
+
@@ -158,12 +158,12 @@
- Apache RocketMQ is a low latency, reliable, scalable, distributed message-oriented middleware, especially for processing large amounts of streaming data.
Latest release v4.0.0
+
Apache RocketMQ® is an open source distributed messaging and streaming data platform.
Latest source v4.0.0
-
+
@@ -174,7 +174,7 @@
-
+
@@ -190,7 +190,7 @@
Low Latency
Finance Oriented
- Large Accumulation
+ BigData Friendly
@@ -268,6 +268,96 @@ Large Accumulation
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Industry Sustainable
+
+
+
+
+ A lot of work was done for wiping out spikes. Almost all messages could be responsed in a few milliseconds under high concurrency.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Massive Accumulation
+
+
+
+
+ Accumulate unlimited messages as long as there is enough disk space. Without performance loss.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vendor Neutral
+
+
+
+
+ High availability with replica. Every message could be tracked or repaired with a serial of tracking tools
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/content/maven/mastering-component-compatible-dependency/index.html b/content/maven/mastering-component-compatible-dependency/index.html
index a6ac1ebd48..d41fada42f 100644
--- a/content/maven/mastering-component-compatible-dependency/index.html
+++ b/content/maven/mastering-component-compatible-dependency/index.html
@@ -226,7 +226,7 @@
Latest release v4.0.0
{::nomarkdown} {:/nomarkdown}'
+excerpt: 'Apache RocketMQ® is an open source distributed messaging and streaming data platform.
Latest source v4.0.0
{::nomarkdown} {:/nomarkdown}'
feature_row:
- - image_path: /assets/images/rmq-customizable-feature.png
+ - image_path: /assets/images/rmq-feature-lowlatency.png
alt: "Low Latency"
title: "Low Latency"
excerpt: "A lot of work was done for wiping out spikes. Almost all messages could be responsed in a few milliseconds under high concurrency."
- - image_path: /assets/images/rmq-responsive-feature.png
+ - image_path: /assets/images/rmq-feature-finance.png
alt: "Finance Oriented"
title: "Finance Oriented"
excerpt: "High availability with replica. Every message could be tracked or repaired with a serial of tracking tools"
- - image_path: /assets/images/rmq-free-feature.png
- alt: "Large Accumulation"
- title: "Large Accumulation"
+ - image_path: /assets/images/rmq-feature-massiveaccumulation.png
+ alt: "BigData Friendly"
+ title: "BigData Friendly"
excerpt: "Accumulate unlimited messages as long as there is enough disk space. Without performance loss."
+
+feature_row1:
+ - image_path: /assets/images/rmq-feature-lowlatency.png
+ alt: "Industry Sustainable"
+ title: "Industry Sustainable"
+ excerpt: "A lot of work was done for wiping out spikes. Almost all messages could be responsed in a few milliseconds under high concurrency."
+ - image_path: /assets/images/rmq-feature-massiveaccumulation.png
+ alt: "Massive Accumulation"
+ title: "Massive Accumulation"
+ excerpt: "Accumulate unlimited messages as long as there is enough disk space. Without performance loss."
+ - image_path: /assets/images/rmq-feature-finance.png
+ alt: "Vendor Neutral"
+ title: "Vendor Neutral"
+ excerpt: "High availability with replica. Every message could be tracked or repaired with a serial of tracking tools"
---
{% include feature_row %}
+
+{% include feature_row id="feature_row1" %}
\ No newline at end of file
@@ -246,13 +246,13 @@
@@ -218,7 +218,7 @@