Loading repository data…
Loading repository data…
DaviFaustino / repository
Minha segunda implementação da Rinha de backend edição 2023 onde me aprofundei mais em técnicas de performance no banco de dados, aplicação e load banlancing. Foi utilizado Java, Spring Boot, Spring WebFlux, Spring Data, R2DBC, Flyway com JDBC, PostgreSQL, Testes de integração com Testcontainers, Nginx e Docker compose.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
- Abordagem reativa não bloqueante
- Configurações de memória no PostgreSQL
- Uso de índice GiST na busca feita na coluna "busca" com as strings concatenadas
- Queries de baixo nível com DatabaseClient do R2DBC Core ao invés de ORM/JPA
- Lançamento de exceções sem mensagem
- Configuração do Garbage Collector e memória da JVM
- Configuração de workers de conexão e outras configurações do Nginx
- Uso de network mode "host" nos containers Docker
- Uso de Cpusets(aqui a mágica acontece) e reservations no Docker compose
Utilize o Git para clonar o projeto e em seguida acesse o seu diretório.
git clone https://github.com/DaviFaustino/performance-rinha-backend-2023-java-spring.git
Para executar o projeto, é preciso ter instalado o Docker e o
Docker Compose.
Execute com o seguinte comando no terminal para rodar a aplicação:
docker compose up -d