Event Driven web domain crawler service using Kafka Streams, Spring Cloud Streams with Kafka Binder and Java Functional Interfaces.
- domain-crawler - uses Spring Kafka with KRaft consensus algorithm
- domain-processor - uses Spring Cloud Stream with Kafka Streams binder
- domain-service - uses Spring Cloud Stream with Kafka Streams binder
- Java (17 or above)
- Maven (for building the project)
- Docker
- Apache Kafka
-
Clone this repository:
git clone https://github.com/bruce-mig/web-domain-crawler-kafka.git cd web-domain-crawler-kafka
-
Run Apache Kafka with Docker
docker compose up -d
-
Build and run the microservices:
# domain crawler cd domain-crawler mvn spring-boot:run # domain processor cd domain-processor mvn spring-boot:run # domain service cd domain-service mvn spring-boot:run
- http://localhost:8080/domain/lookup/facebook - to pull all facebook related web domain names