1import (
2 "github.com/go-zeus/zeus/components"
3 "github.com/go-zeus/zeus/mq"
4 "github.com/go-zeus/zeus/mq/memory"
5)
6
7// 1. 直接使用 Broker(无 components)
8broker := memory.New()
9defer broker.Close()
10
11_ = broker.Subscribe(ctx, "orders.created", func(ctx context.Context, msg *mq.Message) error {
12 return nil
13})
14_ = broker.Publish(ctx, "orders.created", &mq.Message{Payload: []byte("order-1")})
15
16// 2. 自动装配
17app := components.NewApp(
18 components.NewMQComponent(memory.New()),
19 components.NewMQSubscription("orders.created", handleOrder),
20 components.NewMQSubscription("log.all", handleLog),
21)
22app.Run()