Apache RocketMQ 5.x SDK for Go kullanarak mesaj gönderin ve alın. Aşağıdaki tabloda, desteklenen her mesaj türü için örnek kodlar ve ApsaraMQ for RocketMQ örneğinize bağlanmak üzere kullanılan yapılandırma parametreleri listelenmiştir.
Mesaj türüne göre örnek kodlar
Tüm mesaj türleri, mesajları almak için tek bir SimpleConsumer uygulamasını paylaşır. Üretici uygulaması ise mesaj türüne göre değişiklik gösterir.
| Mesaj türü | Üretici örneği | Tüketici örneği |
|---|---|---|
| Normal mesajlar | Eşzamanlı: ExampleProducerNormalMessage.go | ExampleSimpleConsumer.go |
| Normal mesajlar | Zaman uyumsuz: AsyncExampleProducerNormalMessage.go | Yukarıdaki ile aynı |
| Sıralı mesajlar | ExampleProducerWithFifoMessage.go | Yukarıdaki ile aynı |
| Zamanlanmış ve gecikmeli mesajlar | ExampleProducerDelayMessage.go | Yukarıdaki ile aynı |
| İşlemsel mesajlar | ExampleProducerWithTransactionalMessage.go | Yukarıdaki ile aynı |
Parametreler
Aşağıdaki yer tutucuları, ApsaraMQ for RocketMQ örneğinizden alınan değerlerle değiştirin.
| Parametre | Örnek | Açıklama |
|---|---|---|
Endpoint |
rmq-cn-xxx.{regionId}.rmq.aliyuncs.com:8080 |
Örnek uç noktası. İnternet erişimi için genel uç noktayı veya VPC erişimi için VPC uç noktasını kullanın. Daha fazla bilgi için bkz. Örnek uç noktasını edinme. |
InstanceId |
rmq-cn-xxx |
ApsaraMQ for RocketMQ örneğinizin kimliği. |
Topic |
normal_test |
Mesaj göndermek ve tüketmek için kullanılan konu. Konuyu önceden oluşturun. Daha fazla bilgi için bkz. Konu oluşturma. |
ConsumerGroup |
GID_test |
Mesajları tüketmek için kullanılan tüketici grubu. Tüketici grubunu önceden oluşturun. Daha fazla bilgi için bkz. Tüketici grubu oluşturma. |
AccessKey |
1XVg0hzgKm****** |
Örneğin kullanıcı adı. İnternet erişimi için gereklidir. VPC erişimi için yalnızca örnek sunucusuzsa ve VPC'lerde kimlik doğrulamasız erişim devre dışı bırakılmışsa gerekir. Daha fazla bilgi için bkz. Örnek kullanıcı adını ve parolasını edinme. |
SecretKey |
ijSt8rEc45****** |
Örneğin parolası. İnternet erişimi için gereklidir. VPC erişimi için yalnızca örnek sunucusuzsa ve VPC'lerde kimlik doğrulamasız erişim devre dışı bırakılmışsa gerekir. Daha fazla bilgi için bkz. Örnek kullanıcı adını ve parolasını edinme. |
Sunucusuz örneğe İnternet üzerinden erişme
Sunucusuz bir ApsaraMQ for RocketMQ örneğine İnternet üzerinden erişmek için SDK yapılandırmasına NameSpace ve Credentials alanlarını ekleyin.
Not
InstanceId değerini gerçek örnek kimliğinizle değiştirin.
Producer configuration
producer, err := rmq_client.NewProducer(&rmq_client.Config{
Endpoint: Endpoint,
NameSpace: "InstanceId",
Credentials: &credentials.SessionCredentials{
AccessKey: AccessKey,
AccessSecret: SecretKey,
},
},
Consumer configuration
simpleConsumer, err := rmq_client.NewSimpleConsumer(&rmq_client.Config{
Endpoint: Endpoint,
ConsumerGroup: ConsumerGroup,
NameSpace: "InstanceId",
Credentials: &credentials.SessionCredentials{
AccessKey: AccessKey,
AccessSecret: SecretKey,
},
},