Um sistema de mensageria extremamente rápido com NATS e Golang


mensageria com NATS

Para quem precisa que vários sistemas se comuniquem entre si e precisa de velocidade e simplicidade o NATS é uma grande ajuda. Uma das características mais interessantes é a incrível velocidade e um protocolo simples que pode ser facilmente implementado faz com que o NATS seja usado desde para IoT com bibliotecas cliente escritas até mesmo para Arduino quando para comunicação entre serviços muito maiores. Também é muito usado para aplicações mobile por pelo mesmo motivo, protocolo simples e rápido. É uma alternativa muito interessante ao MQTT e é implementado em Go. :D

Exemplo de cliente NATS

package main

import (
	"fmt"

	"github.com/nats-io/nats"
)

func main() {
	// Connect to a server
	nc, err := nats.Connect(nats.DefaultURL)
	if err != nil {
		fmt.Println(err)
		return
	}

	// Simple Publisher
	err = nc.Publish("teste", []byte("Hello World"))
	if err != nil {
		fmt.Println(err)
		return
	}

	// Simple Async Subscriber
	_, err = nc.Subscribe("teste", func(m *nats.Msg) {
		fmt.Printf("Received a message: %s\n", string(m.Data))
	})
	if err != nil {
		fmt.Println(err)
		return
	}

	halt()
}

func halt() {
	select {}
}

Codigo fonte de hoje

Nossos encontros ocorrem todas as quintas-feiras ás 22h00, para participar entre no canal de Go no slack e procure por #brazil

Cesar Gimenes