HarakaMQ
vert to netstandard and added more usability to the messagebroker
? 메시지 대기열이 현재 수정 작업을 하고 있는 순간 작동하지 않습니다. 나는이 지점 https://github.com/Rotvig/HarakaMQ/tree/add_unit_tests에서 작업 중입니까?
UDP 기반의 안정적인 메시지 지향 미들웨어
https://www.nuget.org/packages/HarakaMQ.Client/
MessageBroker 프로젝트를 빌드하여 브로커를 시작하고 "dotnet HarakaMQ.MessageBroker.dll" 명령을 사용하여 실행합니다. 클러스터 설정에서 실행할 때 보유한 각 브로커에 대해 빌드된 dll이 있는 별도의 폴더가 있습니다. 다음 내용이 포함된 "settings.json" 파일을 실행 디렉터리에 추가해야 합니다.
{
"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-벤치마크