HarakaMQ
vert to netstandard and added more usability to the messagebroker
? Die Nachrichtenwarteschlange funktioniert derzeit nicht. Ich arbeite gerade an der Behebung. Ich arbeite an diesem Zweig https://github.com/Rotvig/HarakaMQ/tree/add_unit_tests?
Zuverlässige nachrichtenorientierte Middleware basierend auf UDP
https://www.nuget.org/packages/HarakaMQ.Client/
Starten Sie den Broker, indem Sie das MessageBroker-Projekt erstellen und es mit dem Befehl „dotnet HarakaMQ.MessageBroker.dll“ ausführen. Wenn Sie in einem Cluster-Setup ausgeführt werden, verfügen Sie über einen separaten Ordner mit den erstellten DLLs für jeden Broker, den Sie haben. Denken Sie daran, im laufenden Verzeichnis eine Datei „settings.json“ mit folgendem Inhalt hinzuzufügen:
{
"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