Neobus é uma biblioteca poderosa que permite enviar comandos, consultas e eventos usando o padrão CQRS no .NET. Ele simplifica a implementação de sistemas distribuídos e arquiteturas orientadas por eventos, integrando-se perfeitamente ao Kafka. Se você achar útil Neobus, considere dar -lhe uma estrela para mostrar seu apoio.
Você pode instalar facilmente o Neobus via Nuget Package Manager:
> Install-Package NeoBus
Para configurar o Neobus, adicione as seguintes configurações ao seu arquivo appsettings.json
e especifique o endereço do servidor Kafka:
"NeoBus" : {
"Kafka" : {
"Servers" : [ " localhost:9092 " ]
}
}
Incorpore o Neobus em seu projeto, registrando -o no arquivo Startup.cs
no método ConfigureServices
:
services . AddNeoBus ( Assembly . GetExecutingAssembly ( ) ) ;
Para eventos distribuídos usando Kafka, registre os serviços necessários da seguinte forma:
services . AddHostedService < KafkaEventSubscriberService < ProductAddedEventOnKafka , ProductAddedEventOnKafkaHandler > > ( ) ;
services . AddSingleton < ProductAddedEventOnKafkaHandler > ( ) ;
Se você estiver usando uma versão inferior a 1.2.0, use o código a seguir para se registrar e registrar manualmente comandos e consultas:
services . AddNeoBus ( ) ;
Para registrar comandos e consultas, siga estas etapas:
services . AddScoped < IRequestHandler < ProductAddCommand , CommandResult > , ProductAddCommandHandler > ( ) ;
services . AddScoped < IRequestHandler < GetProductQuery , CommandResult > , GetProductQueryHandler > ( ) ;
services . AddScoped < INotificationHandler < ProductAddedEvent > , ProductAddedEventHandler > ( ) ;
Explore um projeto de amostra que demonstra como usar o Neobus:
Amostra para uso neobus
Para executar Kafka localmente, siga estas instruções:
docker-compose-kafka.yml
de dentro da solução do projeto.docker-compose-kafka.yml
.docker-compose -f docker-compose-kafka.yml up
Agora Kafka está em funcionamento em um recipiente do Docker.
Para obter mais informações sobre Neobus e suas aplicações, considere ler os seguintes artigos:
Sinta -se à vontade para explorar esses recursos para aprimorar sua compreensão de Neobus e suas capacidades.