Projeto ecommerce com diversos micro serviços de responsabilidades diferentes simulando o fluxo de compra de um sistema de comercio eletronico
Os microservices são dividios em modulos sendo um deles o modulo common que possui as implementações genericas de kafa para produzir e consumir mensagerias
modulo generico do sistema responsavel por produzir e consumir mensagerias com kafka
http service responsavel por iniciar os processo de mensageria.
Default Port: 8090
Modulo responsavel por iniciar um fluxo de ordem de compra
Default Port: 8091
Modulo responsavel por armazenar os usuarios do sistema em uma base de dados, atualmente usando mock dos dados
Default Port: 8095
Modulo responsavel por validar as informações de uma ordem e verificar se a compra pode ser realizada pelo usuario
Default Port: 8094
Modulo responsavel por enviar um email sobre o processo da ordem de compra
Default Port: 8093
- Java: Java 12
- Spring Boot: Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run"
- Spring Cloud: Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed
systems
- Feign: for external server communications
- Kafka: Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
- Zookeeper: centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services
- Kafdrop: Kafdrop is a web UI for viewing Kafka topics and browsing consumer groups. The tool displays information such as brokers, topics, partitions, consumers, and lets you view messages.
- Lombok: Annotations helper library
- H2: A very fast database embedded for tests
- Swagger: Swagger open source and pro tools have helped millions of API developers, teams, and organizations deliver great APIs.
- Docker: The most famous container engine used to execute the B3Invest project with their external dependencies
// TODO
- Run Kafka server
2. The docker compose contains the kafka and Zookeeper server.
docker-compose up -d
- Run service-order
- Run service-user
- Run service logger
- Run service-email
- Run service-fraud-detector
- Run service-reporting
Kafka e Zookeeper
docker-compose up -d
docker logs -f <container-id>
docker run -p <external-port>:<internal-port> --name <container-name> --network <network-name> <image-name:tag>
docker-compose down
Postman collection para realizar testes
Postman collection
Dashboard for viewing Kafka topics and browsing consumer groups.
http://localhost:9000
The generated swagger html page is available in the following address
http://localhost:8080/swagger-ui/index.html