响应式咖啡店演示项目教程
1. 项目目录结构及介绍
reactive-coffeeshop-demo/
├── barista-node-kafka/
│ ├── node_modules/
│ ├── package.json
│ ├── package-lock.json
│ └── ...
├── barista-quarkus-http/
│ ├── src/
│ ├── target/
│ ├── pom.xml
│ └── ...
├── barista-quarkus-kafka/
│ ├── src/
│ ├── target/
│ ├── pom.xml
│ └── ...
├── coffeeshop-service/
│ ├── src/
│ ├── target/
│ ├── pom.xml
│ └── ...
├── kubernetes/
│ ├── deployment.yaml
│ ├── service.yaml
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
├── create-topics.sh
├── docker-compose.yaml
└── pom.xml
目录结构介绍
barista-node-kafka/
: 包含使用Node.js实现的Kafka消费者,用于处理咖啡订单。barista-quarkus-http/
: 包含使用Quarkus实现的HTTP消费者,用于处理咖啡订单。barista-quarkus-kafka/
: 包含使用Quarkus实现的Kafka消费者,用于处理咖啡订单。coffeeshop-service/
: 包含咖啡店服务的主要代码,负责生成咖啡订单。kubernetes/
: 包含Kubernetes部署和服务的配置文件。.gitignore
: Git忽略文件配置。LICENSE
: 项目许可证文件。README.md
: 项目说明文件。create-topics.sh
: 用于创建Kafka主题的脚本。docker-compose.yaml
: Docker Compose配置文件,用于本地开发和测试。pom.xml
: Maven项目配置文件。
2. 项目启动文件介绍
2.1 咖啡店服务启动
在coffeeshop-service/
目录下,使用以下命令启动咖啡店服务:
cd coffeeshop-service
mvn quarkus:dev
2.2 HTTP Barista启动
在barista-quarkus-http/
目录下,使用以下命令启动HTTP Barista:
cd barista-quarkus-http
java -jar target/quarkus-app/quarkus-run.jar
2.3 Kafka Barista启动
在barista-quarkus-kafka/
目录下,使用以下命令启动Kafka Barista:
cd barista-quarkus-kafka
mvn quarkus:dev
2.4 Node.js Barista启动
在barista-node-kafka/
目录下,使用以下命令启动Node.js Barista:
cd barista-node-kafka
npm start
3. 项目配置文件介绍
3.1 pom.xml
pom.xml
文件位于每个Quarkus模块的根目录下,用于配置Maven项目依赖和构建配置。例如,在coffeeshop-service/
目录下的pom.xml
文件中,包含了Quarkus和Kafka的依赖配置。
3.2 docker-compose.yaml
docker-compose.yaml
文件位于项目根目录下,用于配置本地开发和测试所需的Docker容器。该文件定义了Kafka和Zookeeper的容器配置。
3.3 create-topics.sh
create-topics.sh
是一个Shell脚本,用于在Kafka中创建所需的Topic。在启动Kafka服务后,运行该脚本以确保所有必要的Topic都已创建。
./create-topics.sh
3.4 kubernetes/
目录
kubernetes/
目录包含Kubernetes部署和服务的配置文件。例如,deployment.yaml
文件定义了如何部署微服务到Kubernetes集群中,service.yaml
文件定义了服务的网络配置。
通过以上步骤,您可以成功启动和配置reactive-coffeeshop-demo
项目,并开始探索其响应式和弹性系统的特性。