aboutsummaryrefslogtreecommitdiff
path: root/weed/mq
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-07-31 13:23:44 -0700
committerchrislu <chris.lu@gmail.com>2022-07-31 13:23:44 -0700
commitafef014832f30e8e783d4524e0933cffe91d944c (patch)
treed8cfc3b6005036248fec38878a8ef2ee20a8b27e /weed/mq
parent0bb3ba17ae1c93d65ad8ebcca72f6d7d9d2416bc (diff)
downloadseaweedfs-afef014832f30e8e783d4524e0933cffe91d944c.tar.xz
seaweedfs-afef014832f30e8e783d4524e0933cffe91d944c.zip
scaffold
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
+}