入门篇:
- Spring Cloud 入门教程:服务注册与发现 - Eureka
- Spring Cloud 入门教程:服务消费者 - REST + Ribbon
- Spring Cloud 入门教程:服务消费者 - Feign
- Spring Cloud 入门教程:断路器 - Hystrix
- Spring Cloud 入门教程:路由网关 - Zuul
- Spring Cloud 入门教程:分布式配置中心 - Spring Cloud Config
- Spring Cloud 入门教程:消息总线 - Spring Cloud Bus
- Spring Cloud 入门教程:服务链路追踪 - Spring Cloud Sleuth
- ……
进阶篇:
- 高可用的服务注册中心
- ……
教程内示例代码使用IDEA + Gradle构建。
源码地址:https://github.com/liutf/my-spring-cloud
组件相关版本:
- Spring Cloud版本:Dalston.RELEASE
- Spring Boot:1.5.8.RELEASE
-
工程代码结构
├── build.gradle
├── chapter-1
│ ├── eureka-client
│ ├── eureka-server
├── chapter-2
│ ├── service-hi
│ ├── service-ribbon
├── chapter-3
│ ├── service-feign
├── chapter-4
│ ├── hystrix-demo
├── chapter-5
│ ├── service-zuul
├── chapter-6
│ ├── config-client
│ ├── config-server
├── chapter-7
│ ├── server-zipkin
│ ├── service-hi
│ ├── service-miya
├── chapter-8
│ ├── eureka-client
│ ├── eureka-server-multiple
├── dependencyDefinitions.gradle
├── gradle
│ └── wrapper
├── gradlew
├── gradlew.bat
├── LICENSE
├── README.md
└── settings.gradle
-
根目录build.gradle配置
buildscript { ext { springBootVersion = '1.5.8.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } ext { springCloudVersion = 'Dalston.RELEASE' } allprojects { repositories { mavenCentral() } group = 'com.liutf' version = '0.0.1-SNAPSHOT' } subprojects { apply plugin: 'java' apply plugin: 'idea' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' sourceCompatibility = 1.8 [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" } } dependencies { compileOnly('org.projectlombok:lombok') compile 'com.google.guava:guava:23.6-jre' compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.cloud:spring-cloud-starter-eureka') testCompile('org.springframework.boot:spring-boot-starter-test') } }