zoukankan      html  css  js  c++  java
  • go-micro broker 消息的订阅和发布

      broker是用于消息的订阅和发布,即异步处理,不过通常会使用队列方式替代,很少使用go-micro的broker

      默认是http方式

    // Broker is an interface used for asynchronous messaging.
    type Broker interface {
    	Options() Options
    	Address() string
    	Connect() error
    	Disconnect() error
    	Init(...Option) error
    	Publish(string, *Message, ...PublishOption) error
    	Subscribe(string, Handler, ...SubscribeOption) (Subscriber, error)
    	String() string
    }
    
    // Handler is used to process messages via a subscription of a topic.
    // The handler is passed a publication interface which contains the
    // message and optional Ack method to acknowledge receipt of the message.
    type Handler func(Publication) error
    
    type Message struct {
    	Header map[string]string
    	Body   []byte
    }
    
    // Publication is given to a subscription handler for processing
    type Publication interface {
    	Topic() string
    	Message() *Message
    	Ack() error
    }
    
    // Subscriber is a convenience return type for the Subscribe method
    type Subscriber interface {
    	Options() SubscribeOptions
    	Topic() string
    	Unsubscribe() error
    }
    

      

    you are the best!
  • 相关阅读:
    管理ceph缓存池
    Ceph更换OSD磁盘
    crushmap磁盘智能分组
    Angular 初体验
    音视频开发-FFmpeg
    开源项目OEIP 游戏引擎与音视频多媒体(UE4/Unity3D)
    Yolov3代码分析与训练自己数据集
    整合Yolov3到UE4/Unity3D
    CUDA版Grabcut的实现
    CUDA加opencv复现导向滤波算法
  • 原文地址:https://www.cnblogs.com/linguoguo/p/14682021.html
Copyright © 2011-2022 走看看