Message queues in Golang

5,254 views
Skip to first unread message

Ajay Bodhe

unread,
Jun 19, 2015, 9:01:03 AM6/19/15
to golan...@googlegroups.com
I want to use activemq-openwire kind of queueing mechanism in one of my project.
Persistence, Queue(one producer, multiple Consumers), HA, performance are key requirements.
Is there any Go-Client for this?
What are the similar alternatives?

Ian Davis

unread,
Jun 19, 2015, 9:05:55 AM6/19/15
to golan...@googlegroups.com
Take a look an nsq which has given me thousands of hours of high volume usage with very few problems.
 
 
Ian
 

Joshua

unread,
Jun 19, 2015, 10:45:13 AM6/19/15
to golan...@googlegroups.com
If you want a broker, you could use Kafka or RabbitMQ. ZeroMQ or Nanomsg (mangos) for brokerless. Another alternative is to use something like grpc or thrift and implement the message patterns on top of the services you create. I have found that brokers can only be used when performance is not a key requirement. A broker will make your messaging at least half the speed.

Joshua

Chris Holland

unread,
Jun 19, 2015, 4:12:21 PM6/19/15
to golan...@googlegroups.com
Looking around there is one written in go


Which I've seen benchmarks going way beyond rabbitmq. Granted haven't used it myself yet but it looks promising.

Colin Stewart

unread,
Jun 20, 2015, 1:59:31 PM6/20/15
to golan...@googlegroups.com
I've written Forest Bus (http://www.owlfish.com/software/ForestBus/) which provides a distributed commit log similar to Kafka. As long as your are happy tracking which messages you've read in the client it should be a good fit.

madars....@d8corp.com

unread,
May 19, 2016, 7:48:27 PM5/19/16
to golang-nuts
Check out endurox-go ASG, they recently added tpenqueue() and tpdequeue() transaction message queue calls. It is also possible to build XATMI based go server, for which enqueued messages might be automatically sent. Thus one produce can call tpenqueue(), and system will automatically call the consumer services with en-queued message contents.

Samuel Ramond

unread,
May 20, 2016, 3:15:24 AM5/20/16
to golang-nuts
We use RabbitMQ with https://github.com/streadway/amqp for 1+ year in Production without any issue, very reliable

Brian Flannery

unread,
May 23, 2016, 2:12:15 PM5/23/16
to golang-nuts
I see Chris Holland mentioned it about a year ago, but one other you may want to consider is NATS - popular for Go development.

NATS Server is written in Golang, is very lightweight and simple to use, as well as extremely fast. Some of you may have seen the GopherAcademy post on it in December: https://blog.gopheracademy.com/advent-2015/nats-high-performance-cloud-native-messaging-written-in-go/

For those of you headed to GopherCon, there is a workshop on HackDay as well on NATS: http://bit.ly/1XpeSq6

Since Chris mentioned it, NATS has become even faster and functionality has continually been updated - have a look. Regardless of whether you use NATS or not, be interested in your input on the project so just ask if any questions, comments, etc.

Shawn Milochik

unread,
May 23, 2016, 4:08:12 PM5/23/16
to golang-nuts
On Mon, May 23, 2016 at 10:29 AM, Brian Flannery <br...@apcera.com> wrote:
I see Chris Holland mentioned it about a year ago, but one other you may want to consider is NATS - popular for Go development.

NATS Server is written in Golang, is very lightweight and simple to use, as well as extremely fast. Some of you may have seen the GopherAcademy post on it in December: https://blog.gopheracademy.com/advent-2015/nats-high-performance-cloud-native-messaging-written-in-go/

For those of you headed to GopherCon, there is a workshop on HackDay as well on NATS: http://bit.ly/1XpeSq6

Since Chris mentioned it, NATS has become even faster and functionality has continually been updated - have a look. Regardless of whether you use NATS or not, be interested in your input on the project so just ask if any questions, comments, etc.


Cool! Thanks for the info. I signed up for the workshop and have a tab open to explore it in more detail. It looks like a very interesting project. 

Brian Flannery

unread,
May 24, 2016, 10:35:19 AM5/24/16
to golang-nuts, Sh...@milochik.com
Excellent Shawn - see you there!  And of course just reach out should any questions come up or if you have any feedback or input - interested in any/all ideas you may have.
Reply all
Reply to author
Forward
0 new messages