This commit is contained in:
chrislu
2022-07-31 13:23:44 -07:00
parent 0bb3ba17ae
commit afef014832
12 changed files with 389 additions and 58 deletions

View File

@@ -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

View File

@@ -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
}