GoとRabbitMQでメッセージの永続化とデータセキュリティを実現するベストプラクティス

GoとRabbitMQによるメッセージの永続化とデータセキュリティのベストプラクティスを実現するためのステップ:

  1. Amqp.Dial()
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
  1. チャネル.Qos()
  2. 丈夫な
  3. 正しく
ch, err := conn.Channel()
ch.Qos(1, 0, true)
  1. 丈夫だ。
  2. ネイティブで言い換えてください、1つの選択肢のみで大丈夫です: 真実
  3. QueueQueueDeclare
  4. 壊れにくい
  5. 確かに
q, err := ch.QueueDeclare(
"myqueue", // 队列名称
true,     // durable属性
false,    // autoDelete属性
false,    // exclusive属性
false,    // noWait属性
nil,      // args参数
)
  1. 配送方法
  2. 2
  3. 公開する
  4. 配送方法
  5. 我行こうとしていたレストランは、予約がないとだめだった。
err = ch.Publish(
"",      // exchange
q.Name,  // routing key
false,   // mandatory
false,   // immediate
amqp.Publishing{
DeliveryMode: amqp.Persistent, // deliveryMode属性
ContentType:  "text/plain",
Body:         []byte("Hello world"),
},
)
  1. ネイティブに認識される自動確認
  2. 誤り
  3. 消費する
  4. Ack()
msgs, err := ch.Consume(
q.Name, // 队列名称
"",     // consumer名称
false,  // autoAck属性
false,  // exclusive属性
false,  // noLocal属性
false,  // noWait属性
nil,    // args参数
)
for msg := range msgs {
// 处理消息
msg.Ack(false) // 手动确认消息接收
}

上記の手順により、Golang と RabbitMQ のメッセージ永続化とデータの安全性を確立できます。

bannerAds