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
Common kafka
modulo generico do sistema. responsavel por produzir e consumir mensagerias com kafka
Aplication manager
http service responsavel por iniciar os processo de mensageria.
Default Port: 8090
Service order
modulo responsavel por iniciar um fluxo de ordem de compra
Default Port: 8091
service user
modulo responsavel por armazenar os usuarios do sistema em uma base de dados atualmente usando mock dos dados
Default Port: 8095
Service fraud detector
modulo responsavel por validar as informações de uma ordem e verificar se a compra pode ser realizada pelo usuario
Default Port: 8094
Service email
modulo responsavel por enviar um email sobre o processo da ordem de compra
Default Port: 8093
Service logger
modulo responsavel por centralizar os logs de todos os microserviçoes
Default Port: 8092
- 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
- Run Kafka server
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
links reference:
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
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
- ✔️
kafka common - ☑️ update readme