HarakaMQ.Client 1.0.1

HarakaMQ Client is a reliable high performance message subscriber/publisher for a HarakaMQ Broker.

Install-Package HarakaMQ.Client -Version 1.0.1
dotnet add package HarakaMQ.Client --version 1.0.1
<PackageReference Include="HarakaMQ.Client" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HarakaMQ.Client --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

HarakaMQ

Reliable Message Oriented Middleware Based on UDP and created with .NET Core 2.0

Guarantees

  • Message Delivery
  • Order of messages across distributed brokers
  • Eventual Consistency

Development

  • Fail over when a broker goes down in a cluster setup
  • Reconciliation when a broker rejoins a cluster
  • Broker and client auto discovery in a cluster setup
  • Add a new broker without restart of a cluster

Nuget

HarakaMQ.Client

https://www.nuget.org/packages/HarakaMQ.Client/

Message Broker

Start up the Broker by building the MessageBroker project, and runs it with the command "dotnet HarakaMQ.MessageBroker.dll".
Remember to add a "settings.json" file in the running directory with this content:

{  
   "BrokerPort":11100,
   "PrimaryNumber":1,
   "AntiEntropyMilliseonds":1000,
   "RunInCLusterSetup":false,
   "Brokers":[]
}

You can also use the pre-builded Message broker (Client-Server setup) from this project https://github.com/Rotvig/HarakaMQ-Benchmark/tree/master/ClientServerSetup/Broker

Publish

var factory = new ConnectionFactory {HostName = "127.0.0.1", ListenPort = 11000, Port = 11100};
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
    channel.QueueDeclare("hello");
    channel.BasicPublish("hello", Encoding.UTF8.GetBytes("Hello world"));

    Console.WriteLine(" Press [enter] to exit.");
    Console.ReadLine();
}

Subscribe

var factory = new ConnectionFactory {HostName = "127.0.0.1", ListenPort = 12000, Port = 11100};
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
    channel.QueueDeclare("hello");
    var consumer = new DefaultBasicConsumer(channel);
    consumer.Received += (model, ea) =>
    {
        Console.WriteLine(Encoding.UTF8.GetString(ea.Body));
    };
    channel.BasicConsume("hello", consumer);

    Console.WriteLine(" Press [enter] to exit.");
    Console.ReadLine();
}

Test Repo

https://github.com/Rotvig/HarakaMQ-Benchmark

HarakaMQ

Reliable Message Oriented Middleware Based on UDP and created with .NET Core 2.0

Guarantees

  • Message Delivery
  • Order of messages across distributed brokers
  • Eventual Consistency

Development

  • Fail over when a broker goes down in a cluster setup
  • Reconciliation when a broker rejoins a cluster
  • Broker and client auto discovery in a cluster setup
  • Add a new broker without restart of a cluster

Nuget

HarakaMQ.Client

https://www.nuget.org/packages/HarakaMQ.Client/

Message Broker

Start up the Broker by building the MessageBroker project, and runs it with the command "dotnet HarakaMQ.MessageBroker.dll".
Remember to add a "settings.json" file in the running directory with this content:

{  
   "BrokerPort":11100,
   "PrimaryNumber":1,
   "AntiEntropyMilliseonds":1000,
   "RunInCLusterSetup":false,
   "Brokers":[]
}

You can also use the pre-builded Message broker (Client-Server setup) from this project https://github.com/Rotvig/HarakaMQ-Benchmark/tree/master/ClientServerSetup/Broker

Publish

var factory = new ConnectionFactory {HostName = "127.0.0.1", ListenPort = 11000, Port = 11100};
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
    channel.QueueDeclare("hello");
    channel.BasicPublish("hello", Encoding.UTF8.GetBytes("Hello world"));

    Console.WriteLine(" Press [enter] to exit.");
    Console.ReadLine();
}

Subscribe

var factory = new ConnectionFactory {HostName = "127.0.0.1", ListenPort = 12000, Port = 11100};
using (var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
    channel.QueueDeclare("hello");
    var consumer = new DefaultBasicConsumer(channel);
    consumer.Received += (model, ea) =>
    {
        Console.WriteLine(Encoding.UTF8.GetString(ea.Body));
    };
    channel.BasicConsume("hello", consumer);

    Console.WriteLine(" Press [enter] to exit.");
    Console.ReadLine();
}

Test Repo

https://github.com/Rotvig/HarakaMQ-Benchmark

Version History

Version Downloads Last updated
1.0.1 136 10/3/2018
1.0.0 165 6/27/2018