README
尚硅谷Spring Cloud 2020模板
模块一览表
模块 | 功能 | |
---|---|---|
1 | cloud-provider-payment8001 | 支付 |
2 | cloud-consumer-order80 | 消费者 |
3 | cloud-api-commons | 工具包 |
4 | cloud-eureka-server7001 | Eureka Server端:服务注册中心 |
5 | cloud-eureka-server7002 | Eureka集群之一 :与7001组成集群 |
6 | cloud-provider-payment8002 | 服务提供者之一:支付集群 |
7 | cloud-provider-payment8004 | ZooKeeper:服务提供者 |
8 | cloud-consumerzk-order80 | ZooKeeper:服务消费者 |
9 | cloud-providerconsul-payment8006 | Consul:服务提供者 |
10 | cloud-consumerconsul-order80 | Consul:服务消费者 |
11 | cloud-consumer-feign-order80 | Feign:服务消费者 |
12 | cloud-provider-hystrix-payment8001 | Hystrix熔断器:服务提供者 |
13 | cloud-consumer-feign-hystrix-order80 | Hystrix熔断器:服务消费者 |
14 | cloud-consumer-hystrix-dashboard9001 | Hystrix:实时监控 |
15 | cloud-gateway-gateway9527 | Gateway:网关 |
16 | cloud-config-center-3344 | Config配置中心:服务端 |
17 | cloud-config-client-3355 | Config配置中心:客户端 |
18 | cloud-config-client-3366 | Config配置中心:客户端 |
19 | cloud-stream-rabbitmq-provider8801 | 作为消息生产者进行发消息模块 |
20 | cloud-stream-rabbitmq-consumer8802 | 消息接收模块 |
21 | cloud-stream-rabbitmq-consumer8803 | 消息接收模块 |
22 | cloudalibaba-provider-payment9001 | Nacos:服务提供者 |
23 | cloudalibaba-provider-payment9002 | Nacos:服务提供者 |
24 | cloudalibaba-consumer-nacos-order83 | Nacos:订单消费者 |
25 | cloudalibaba-config-nacos-client3377 | Nacos:服务配置中心 |
26 | cloudalibaba-sentinel-service8401 | Sentinel:实时监控 |
27 | cloudalibaba-provider-payment9003 | Nacos:服务提供者 |
28 | cloudalibaba-provider-payment9004 | Nacos:服务提供者 |
29 | cloudalibaba-consumer-nacos-order84 | Sentiel:客户端 |
30 | seata-order-service2001 | Seata:订单服务端 |
31 | seata-storage-service2002 | Seata:商品服务端 |
32 | seata-account-service2003 | Seata:账户服务端 |
通用pom
<!--seata-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<exclusions>
<exclusion>
<artifactId>seata-all</artifactId>
<groupId>io.seata</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
<version>0.9.0</version>
</dependency>
<!--sentinel-datasource-nacos 用于sentinel持久化-->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
<!--sentinel-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--链路监控包含sleuth+zipkin-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!--stream中的rabbit模块-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
<!--消息总线RabbitMQ-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<!--Config-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!--Gateway-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--hystrix dashboard-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
<!--hystrix-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--openfeign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--consul-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<!--里面默认有一个依赖的版本与服务器不一致,需要排除自带的zookeeper3.5.3-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加zookeeper3.4.9版本,里面有个Slf4j会与SpringBoot自带的起冲突,所以也需要移除-->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--Eureka Client-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--Eureka Server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!--自定义的api工具包,可以使用Payment支付Entity-->
<dependency>
<groupId>com.indi.springcloud</groupId>
<artifactId>cloud-api-commons</artifactId>
<version>${project.version}</version>
</dependency>
<!--boot: web actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--通用配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--数据库配置-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
通用yml
server:
port:
spring:
application:
name:
eureka:
instance:
hostname:
client:
service-url:
register-with-eureka: true
fetch-registry: true
defaultZone: http://eureka7001.com:7001/eureka
通用启动类
@EnableDiscoveryClient
@EnableEurekaClient
@SpringBootApplication
public class M{
public static void main(String[] args) {
SpringApplication.run(M.class,args);
}
}
通用配置类
@Configuration
public class ApplicationContextConfig {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}