Skip to content

Instantly share code, notes, and snippets.

@alvatar
alvatar / rabbitmq_notes.md
Created October 14, 2022 13:43 — forked from Dev-Dipesh/rabbitmq_notes.md
Why RabbitMQ is better over Redis and notes on RabbitMq.

Redis is Database whereas RabbitMQ was designed as a message router or message-orientated-middleware (mom), so I'm sure if you look for benchmarks, you'll find that RabbitMQ will outperform Redis when it comes to message routing.

RabbitMQ is written in Erlang which was specifically designed by the telecom industry to route messages, you get clustering out of the box due to it being written in Erlang which means in a clustered environment, RabbitMQ will outperform Redis even further.

Furthermore, you get guaranteed delivery of messages due to the AMQP protocol, in other words, if the network drops while consuming the message, the consumer won't be able to say thanks for the message, so the consumer will drop the message and Rabbit will requeue the message, if you publish a message and the queue didn't say thanks to the publisher due to network problems or timeouts, Rabbit will drop the message and the publisher will keep on trying to publish the message. You can have publish retries with backoff policies, so

@alvatar
alvatar / bgfx_osx.c
Last active December 2, 2019 23:31
BGFX OSX
#include "SDL.h"
#include "SDL2/SDL_syswm.h"
#include <stdio.h>
#include <stdbool.h>
#include "bgfx/c99/bgfx.h"
int main(int argc, char* argv[]) {
#include "SDL.h"
#include "SDL2/SDL_syswm.h"
#include <stdio.h>
#include <stdbool.h>
#include "bgfx/c99/bgfx.h"
int main(int argc, char* argv[]) {

Keybase proof

I hereby claim:

  • I am alvatar on github.
  • I am alvatar (https://keybase.io/alvatar) on keybase.
  • I have a public key whose fingerprint is 3654 2C91 DCA2 B82F CB7F CC23 10D3 9D55 7572 3EE6

To claim this, I am signing this object:

(parameterize ((current-readtable (readtable-sharing-allowed?-set (current-readtable) 'serialize)))
(load "syntax-case"))
(sack-start!
(lambda (env)
(let ((ret #t))
(values 200
'(("Content-Type" . "text/plain"))
(lambda ()
(and
ret
(begin
(set! ret #f)