AMQP'den Google'ın Pubsub'a geçme sürecindeyiz. Biz hesaplama motoru kullanıyorsanız beri bizim için en iyi seçim olabilir çekin ve itme servisi ile haberdar olmak için işçi açamıyorGoogle PubSub'ı Golang ile kullanma. Servisi yoklamak için en verimli (maliyet) yol
Ayrıca çekme kullanıma bağlı olarak ilave maliyetler gerektirebilir söylüyor: Yoklama kullanılırsa size açılış bağlantıları sık ve hemen onları kapanış eğer
, yüksek ağ kullanımı söz konusu olabilir.
func main() { jsonKey, err := ioutil.ReadFile("pubsub-key.json") if err != nil { log.Fatal(err) } conf, err := google.JWTConfigFromJSON( jsonKey, pubsub.ScopeCloudPlatform, pubsub.ScopePubSub, ) if err != nil { log.Fatal(err) } ctx := cloud.NewContext("xxx", conf.Client(oauth2.NoContext)) msgIDs, err := pubsub.Publish(ctx, "topic1", &pubsub.Message{ Data: []byte("hello world"), }) if err != nil { log.Println(err) } log.Printf("Published a message with a message id: %s\n", msgIDs[0]) for { msgs, err := pubsub.Pull(ctx, "subscription1", 1) if err != nil { log.Println(err) } if len(msgs) > 0 { log.Printf("New message arrived: %v, len: %d\n", msgs[0].ID, len(msgs)) if err := pubsub.Ack(ctx, "subscription1", msgs[0].AckID); err != nil { log.Fatal(err) } log.Println("Acknowledged message") log.Printf("Message: %s", msgs[0].Data) } } }
olsa gereken soru bu mesajları çekerek hakkında gitmek için doğru/önerilen yolu olup olmadığını gerçekten:
Biz böylece bir döngü içinde çalışır seferde bir test abone oluşturulan etmişti .
Biz gün boyunca saniyede 100msg hakkında alma. Sonsuz bir döngüde koşturmanın bizi iflas ettirecek ve başka iyi bir örnek bulmayacağından emin değilim. Genelde
, teşekkürler. Yani, sizce, sonsuz bir döngüde, uyumaksızın koşmak iyi olur mu? – simonmorley
Evet, bir istek tamamlandığında isteği başlatan sonsuz bir döngü oldukça tipiktir. –
Yardım için teşekkürler. – simonmorley