Aplicação Java de um E-commerce, utilizando o Kafka como mensageria.
As instruções a seguir irão lhe proporcionar uma cópia deste projeto e de como rodar em sua máquina local para propósito de desenvolvimento e testes. Veja na sessão de deployment para saber com mais detalhes de como dar deploy em sua aplicação.
Dependências necessárias para se instalar o software e como instalá-las.
- É necessário que você tenha Java instalado na sua máquina. Para verificar, rode o seguinte comando:
java -version
- É necessário ter o Apache Maven (ferramenta de automação e gerenciamento do projeto) instalado também. Para verificar, rode o seguinte comando:
mvn -v
- É necessário ter o Docker para executar os containers:
docker -v
Para rodar a aplicação, execute os próximos passos:
- Faça o clone do projeto
https://github.com/felipefariasdasilva/ecommerce-kafka-java.git
- Entre na pasta
cd ecommerce-kafka-java
- Execute a aplicação com Maven
mvn spring-boot:run
- Suba os containers do zookeeper e kafka através do docker-compose.yml em segundo plano(flag -d)
docker-compose up -d
NOTE: O template do docker-compose pode ser encontrado Confluentinc@GitHub
⚠️ NOTE: Zookeeper está com uma porta diferente do padrão. Ao invés de ser 2181, neste docker-compose está 2182
- Verifique se os containers subiram de forma correta
docker-compose ps
Finalize com um exemplo obtendo dados do sistema ou fazendo uma pequena demostração do funcionamento da aplicação
- Informações do tópico
docker-compose exec kafka kafka-consumer-groups --all-groups --describe --bootstrap-server kafka:9092
- Alterar numero de partições do tópico
docker-compose exec kafka kafka-topics --alter --topic ECOMMERCE_NEW_ORDER --partitions 3 --zookeeper zookeeper:2182
Explique como rodar os testes automáticos do seu sistema caso haja algum
Explique o que esses testes testam e o porquê.
Dê um exemplo
Explique o que esses testes testam e o porque.
Dê um exemplo
Adicione notas de como dar deploy do sistema em produção.
- Spring Boot - O framework web utilizado
- Maven - Gerenciador de dependências
- Docker - Criado de Containers
- Kafka - Plataforma distribuída de stream
Criar um arquivo chamado CONTRIBUTING.md e colocar suas regras para contribuição nesse repositório.
Por favor leia CONTRIBUTING.md para mais detalhes a respeito do nosso código de contuda e o processo de submissão de pull-requests para nós.
Nós usamos GitHub para versionamento. Para visualizar as versões disponíveis veja tags nesse repositórios.
- Felipe Farias - Trabalho inicial - @felipefariasdasilva
Veja também a lista completa de contribuidores que contribuiram para o desenvolvimento deste projeto.
Esse projeto é licenciado pela MIT License - veja também LICENSE.md para mais detalhes
- Inspiração
- etc