SpringCloud基本知识
一、SpringCloud基本知识
-
SpringCloud基于HTTP协议,和Dubbo最本质的区别(dubbo的核心是基于RPC)
-
注册中心:Eureka
-
客户端负载均衡:Ribbon
-
声明式远程方法调用:Feign
-
服务降级,熔断:Hystrix
-
网关:Zuul
1.springboot和springcloud的关系
- SpringBoot是基础
- SpringCloud要基于SpringBoot开发
2.springboot和dubbo对比
-
核心:
-
- Dubbo 底层基于RPC
- SpringCloud底层基于RestFul,也可以说是基于Http。
-
其他区别:
-
- SpringCloud相对于Dubbo功能更加全面
- SpringCloud是一个一站式的解决方案
-
- SpringCloud能够天然的基于Spring全家桶开发
二、SpringCloud 目标基础测试环境

1. 创建父工程
-
pro01_spring_cloud_parent
-
父工程很重要,里面定义了boot 和 cloud的版本信息
-
配置依赖管理:
UTF-8
1.8
1.8
4.12
1.18.20
1.2.17
8.0.28
1.2.8
3.5.0
org.springframework.boot
spring-boot-dependencies
2.2.2.RELEASE
pom
import
org.springframework.cloud
spring-cloud-dependencies
Hoxton.SR1
pom
import
com.alibaba.cloud
spring-cloud-alibaba-dependencies
2.1.0.RELEASE
pom
import
mysql
mysql-connector-java
${mysql.version}
runtime
com.alibaba
druid-spring-boot-starter
1.2.8
com.baomidou
mybatis-plus-boot-starter
${mybatis.spring.boot.version}
junit
junit
${junit.version}
log4j
log4j
${log4j.version}
org.projectlombok
lombok
${lombok.version}
maven-clean-plugin
3.1.0
maven-site-plugin
3.7.1
maven-project-info-reports-plugin
3.0.0
2. 创建提供者工程 provider
com.xu.springcloud
cloud-api-commons
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
com.baomidou
mybatis-plus-boot-starter
com.alibaba
druid-spring-boot-starter
mysql
mysql-connector-java
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
org.springframework.boot
spring-boot-starter-test
test
com.baomidou
mybatis-plus-annotation
3.5.0
配置文件
server:
port: 8001
spring:
application:
name: cloud-payment-service
datasource:
type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型
driver-class-name: com.mysql.cj.jdbc.Driver #mysql驱动
url: jdbc:mysql://localhost:3306/db2022?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123456
#mybatis:
# mapper-locations: classpath:mapper/*.xml
# type-aliases-package: com.xu.springcloud.entities #所在Entity的别名
3. 创建消费者工程
com.xu.springcloud
cloud-api-commons
1.0-SNAPSHOT
com.xu.springcloud
cloud-api-commons
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
org.springframework.boot
spring-boot-starter-test
test
4.创建通用工程
此工程存放通用的组件,直接maven快速构建即可
org.springframework.boot
spring-boot-devtools
runtime
true
org.projectlombok
lombok
cn.hutool
hutool-all
5.7.17