HarakaMQ
vert to netstandard and added more usability to the messagebroker
? La cola de mensajes no funciona actualmente. Estoy trabajando para solucionarlo. Estoy trabajando en esta rama https://github.com/Rotvig/HarakaMQ/tree/add_unit_tests?
Middleware confiable orientado a mensajes basado en UDP
https://www.nuget.org/packages/HarakaMQ.Client/
Inicie el Broker creando el proyecto MessageBroker y ejecútelo con el comando "dotnet HarakaMQ.MessageBroker.dll". Cuando se ejecuta en una configuración de clúster, tenga una carpeta separada con los archivos DLL creados para cada corredor que tenga. Recuerde agregar un archivo "settings.json" en el directorio de ejecución con este contenido:
{
"BrokerPort" : 11100 ,
"PrimaryNumber" : 1 ,
"AntiEntropyMilliseonds" : 1000 ,
"RunInCLusterSetup" : false ,
"Brokers" :[]
}
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 ( ) ;
}
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 ( ) ;
}
https://github.com/Rotvig/HarakaMQ-Benchmark