Skip to content

Instantly share code, notes, and snippets.

View hairyhum's full-sized avatar

Daniil Fedotov hairyhum

  • Ockam
  • 20:55 (UTC -04:00)
View GitHub Profile
defmodule App do
@moduledoc """
Documentation for App.
"""
@doc """
Hello world.
## Examples
RabbitMQ queue types.
As 3.8 release with new quorum queue type approaches, the RabbitMQ team
was thinking of introducing a new concept for RabbitMQ: queue types.
Currently queues have many different settings, configured with arguments and
policies. These settings allow you to configure queues to be used in different
scenarios and have different behaviours.
For example mirrored/unmirrored, lazy, queues with limits and TTLs.
Slave processes can only send confirms.
There is no way to tell that the message should be rejected.
Slave processes react to discard by confirming message, because discard
is used for messages which were acked before enqueue
for example when delivered to a no-ack consumer.
Enqueue:
Master Slave Channel
| | publish | <- publish

Cluster state on disk:

  1. Mnesia schema db_nodes - nodes of the schema. Either disk nodes or nodes where tables are replicated to. extra_db_nodes - configuration telling mnesia which nodes to connect to on startup. running_db_nodes - nodes which mnesia is currently connected to. [1] table nodes - nodes on which tables are replicated. A list with all nodes, and with "active" nodes. "all nodes" is a subset of db_nodes, "active nodes" is a subset of running_db_nodes In a way db_nodes and running_db_nodes are same as