Uma aplicação utilizando um framework micronaut, utilizando na comunicação o gRPC, um framework RPC de comunicação entre serviços(back-end, front-end, mobile, microserviços... ). Utilizando postgres como banco de dados e kotlin como linguagem de programação.
- Java 11
- Gradle
- Micronaut 2.1.4
- micronaut-validation
- micronaut-kotlin-runtime
- micronaut-grpc-runtime
- micronaut-jdbc-hikari
- micronaut-data-jdbc
- micronaut-data-processor
- micronaut-test
- gRPC
- Logback
- Git
- Postgres
É um framework com foco de criação de microserviços e aplicações serverless, que tem como foco velocidade e pouco consumo de memória utilizando 3 linguagens JVM-based ( Java, Kotlin e Groovy ).
framework de comunicaçãoque vem sendo bem repercutido no mercado, pois utiliza como protocolo de comunicação o HTTP2 e tem por padrão, o Protocol Buffer como mecanismo de serialização de dados( porém é possível utilizar outros mecanismos de dados como JSON ), abaixo segue o trecho da representação de um "objeto" no arquivo de extensão ".proto" :
message CustomerReply {
uint64 id = 1;
string nome = 2;
string sobrenome = 3;
}
Um dos diferenciais desse novo "modelo" de comunicação é que possivel enviar e receber um stream de dados. Na aplicação é possivel encontrar um modelo de proto-response utilizando stream ( no método ListAllStream, localizado no arquivo CustomerEndpoint.kt)
O gerenciador de pacotes utilizado no projeto é o gradle, então é necessário antes tudo, instalar as dependências através do comando:
./gradlew build
No diretório "src/docker" tem um docker-compose com a configurações do banco de dados, para subir o banco rodar o comando no :
docker-compose up
Após o subir o banco rodar o seguinte comando para subir a aplicação:
./gradlew run
A aplicação possui 2 testes automatizados com o objetivo de apresentar o funcionamento do micronaut-test para roda-los bastar utilizar o seguinte comando:
./gradlew test
Para testar suas resquisições gRPC com o padrão de serialização proto-buffer, pode-se utilizar o BloomRPC, que funciona bem semelhante ao postman e insmonia para testar a requisições REST, você pode fazer o download do BloomRPC por aqui. Com ele aberto, basta importar seu arquivo com extensão .proto, e ele já reconhece seu contrato e apresenta todos os metodos inclusos para rodar.
👤 Lucas Nascimento
- Github: @LucasNasc
- LinkedIn: @lucaspnascimento
Give a ⭐️ if this project helped you!