fw-spring-cloud 项目使用教程
1. 项目的目录结构及介绍
fw-spring-cloud 项目的目录结构如下:
fw-spring-cloud/
├── eureka/
├── zuul/
├── gateway/
├── feign/
├── ribbon/
├── hystrix/
├── mq/
├── turbine/
├── nacos/
├── elk/
├── consul/
├── zookeeper/
├── rocketmq/
├── kafka/
├── transaction/
├── sharding-jdbc/
├── lock/
├── jwt/
├── skywalking/
├── zipkin/
├── bootadmin/
├── pom.xml
└── README.md
目录结构介绍
- eureka/: 包含 Eureka 服务注册与发现的实现。
- zuul/: 包含 Zuul API 网关的实现。
- gateway/: 包含 Spring Cloud Gateway 的实现。
- feign/: 包含 Feign 客户端的实现。
- ribbon/: 包含 Ribbon 客户端负载均衡的实现。
- hystrix/: 包含 Hystrix 熔断器的实现。
- mq/: 包含消息队列的实现,如 RabbitMQ、ActiveMQ 等。
- turbine/: 包含 Turbine 聚合监控数据的实现。
- nacos/: 包含 Nacos 配置中心和服务发现的实现。
- elk/: 包含 ELK 日志收集和分析的实现。
- consul/: 包含 Consul 服务注册与发现的实现。
- zookeeper/: 包含 Zookeeper 服务注册与发现的实现。
- rocketmq/: 包含 RocketMQ 消息队列的实现。
- kafka/: 包含 Kafka 消息队列的实现。
- transaction/: 包含分布式事务的实现,如 RocketMQ、LCN、Seata 等。
- sharding-jdbc/: 包含分库分表的实现。
- lock/: 包含分布式锁的实现,如 Redis、Guava 等。
- jwt/: 包含 JWT 认证的实现。
- skywalking/: 包含 SkyWalking 链路追踪的实现。
- zipkin/: 包含 Zipkin 链路追踪的实现。
- bootadmin/: 包含 Spring Boot Admin 监控的实现。
- pom.xml: Maven 项目配置文件。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
项目的启动文件通常位于每个模块的 src/main/java
目录下,例如 eureka/src/main/java/com/example/EurekaApplication.java
。
启动文件示例
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
启动文件介绍
- @SpringBootApplication: 声明这是一个 Spring Boot 应用。
- @EnableEurekaServer: 声明这是一个 Eureka 服务端。
- public static void main(String[] args): 应用的入口方法。
3. 项目的配置文件介绍
项目的配置文件通常位于每个模块的 src/main/resources
目录下,例如 eureka/src/main/resources/application.yml
。
配置文件示例
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
配置文件介绍
- server.port: 服务端口。
- eureka.instance.hostname: Eureka 实例的主机名。
- eureka.client.register-with-eureka: 是否向 Eureka 注册自己。
- **eureka.client.