aboutsummaryrefslogtreecommitdiff
path: root/weed/mq
diff options
context:
space:
mode:
Diffstat (limited to 'weed/mq')
-rw-r--r--weed/mq/README.md4
-rw-r--r--weed/mq/broker/brokder_grpc_pub.go16
2 files changed, 20 insertions, 0 deletions
diff --git a/weed/mq/README.md b/weed/mq/README.md
index d4e2d5843..6a641c009 100644
--- a/weed/mq/README.md
+++ b/weed/mq/README.md
@@ -25,6 +25,10 @@ SeaweedMQ is designed for use cases that need to:
* Pass messages by reference instead of copying.
* Clients can optionally upload the messages first and just submit the references.
* Drastically reduce the broker load.
+* Stateless brokers
+ * All brokers are equal. One broker is dynamically picked as the leader.
+ * Add brokers at any time.
+ * Allow rolling restart brokers or remove brokers at a pace.
# Design
diff --git a/weed/mq/broker/brokder_grpc_pub.go b/weed/mq/broker/brokder_grpc_pub.go
new file mode 100644
index 000000000..a26be5171
--- /dev/null
+++ b/weed/mq/broker/brokder_grpc_pub.go
@@ -0,0 +1,16 @@
+package broker
+
+import (
+ "github.com/seaweedfs/seaweedfs/weed/pb/mq_pb"
+)
+
+/*
+The messages is buffered in memory, and saved to filer under
+ /topics/<topic>/<date>/<hour>/<segment>/*.msg
+ /topics/<topic>/<date>/<hour>/segment
+ /topics/<topic>/info/segment_<id>.meta
+*/
+
+func (broker *MessageQueueBroker) Publish(stream mq_pb.SeaweedMessaging_PublishServer) error {
+ return nil
+}