Creating the first microservice using MySQL and RabbitMQ

Desenvolvendo um microsserviço utilizando MySQL e RabbitMQ.

Nesse exemplo informaremos o nome da nova aplicação, o tipo de serviço de Stream como “RabbitMQ” para emissão de eventos habilitando “Event-Driven architecture” e o State como “MySQL” para a persistência dos dados.

Antes de iniciar o desenvolvimento é necessário configurar os containers no docker com RabbitMQ e MySQL. Crie a fila “orderevents” no RabbitMQ.

dp new Order --stream rabbitmq --state mysql

O DevPrime CLI criará um novo microserviço pronto para produção. As novas aplicações criadas recebem uma fundação de arquitetura de software completa e funcional permitindo acelerar o desenvolvimento do software

DevPrime mysql microservice

Entre na pasta do projeto e siga os próximos passos.

Adicionando uma regra de negócio

O projeto criado já está pronto para receber as regras de negócio no padrão Domain Driven Design (DDD). O código deve ser escrito dentro da pasta Domain. Após incluir é possível utilizar o acelerador “dp init” para analisar o domínio e criar o código necessário para exposição das API’s simplificando mais ainda a jornada de desenvolvimento além de manter as melhores práticas de desenvolvimento.

Para facilitar o nosso exemplo utilizaremos o dominio “Order” utilizando um o serviço marketplace da plataforma Devprime. Utilize o comando abaixo e verifique o resultado na pasta Domain src/Core/Domain/Aggregates.

dp marketplace order
dp init

O novo microsserviço está pronto !!!

Exportando a estrutura de dados

O DevPrime CLI oferece um comando para exportar os scripts e você pode aplicar manualmente utilizando a ferramenta ‘“MySQL Workbench’ ou algum processo de DevOps.
dp export state state1

Criando a estrutura do banco de dados”

O DevPrime CLI oferece um comando para exportar e aplicar a estrutura de bancos relacionais conforme o exemplo abaixo. Ele usará as credenciais do projeto.
dp state apply state1

DevPrime mysql microservice

Iniciando o microservice “Order”

Você pode executar a aplicação utilizando o “dotnet run” ou usando os arquivos de script “.\run.ps1” caso esteja utilizando o powershell (Windows, Linux, macOS) ou “./run.sh” no bash (Linux e macOS).
chmod +x run.sh

Ao iniciar a aplicação será possível acompanhar no log abaixo.

DevPrime mysql microservice

Acabamos de concluir essa jornada usando DevPrime, RabbitMQ e MySQL.

Última modificação March 8, 2022 (68a5827)