深入理解 Spring Cloud 与微服务构建_读书笔记
- 相关资源
- 第7章 声明式调用 Feign
-
- 7.1 写一个 Feign 客户端
- 7.2 FeignClient 详解
- 7.3 FeignClient 的配置
- 7.4 从源码的角度讲解 Feign 的工作原理
- 7.5 在 Feign 中使用 HttpClient 和 OkHttp
- 7.6 Feign 是如何实现负载均衡的
- 7.7 总结
- 第9章 路由网关 Spring Cloud Zuul
-
- 9.1 为什么需要 Zuul
- 9.2 Zuul 的工作原理
- 9.3 案例实战
-
- 9.3.1 搭建 Zuul 服务
- 9.3.2 在 Zuul 上配置 API 接口的端口号
- 9.3.3 在 Zuul 上配置熔断器
- 9.3.4 在 Zuul 上使用过滤器
- 9.3.5 Zuul 的常见使用方式
- 第15章 使用 Spring Security OAuth2 和 JWT 保护微服务系统
-
- 15.1 JWT 简介
-
- 15.1.1 什么是 JWT
- 15.1.2 JWT 的结构
- 15.1.3 JWT 的应用场景
- 15.1.4 如何使用 JWT
- 15.2 案例分析
-
- 15.2.1 案例架构设计
- 15.2.2 编写主 Maven 工程
- 15.2.3 编写 eureka-server
- 15.2.4 编写 uaa 授权服务
-
- 1. 引入依赖
- 2. 配置文件
- 3. 配置 Spring Security
- 4. 配置 Authorization Server
- 5. 生成 jks 文件
- 15.2.5 编写 user-service 资源服务
-
- 1. 依赖管理 pom 文件
- 2. 配置文件 application.yml
- 3. 配置 Resource Server
- 4. 配置 Spring Security
- 5. 编写用户注册接口
- 6. 编写用户登录接口
- 7. 测试
- 15.3 总结
- 第16章 使用 Spring Cloud 构建微服务综合案例
-
- 16.1 案例介绍
- 16.2 案例详解
-
- 16.2.1 准备工作
- 16.2.2 构建主 Maven 工程
- 16.2.3 构建 eureka-server 工程
- 16.3 启动源码工程
-
- 1. 准备工作
-
- 运行环境
- a. maven 关联
- b. 数据库操作
- 2. 启动 eureka-server
- 3. 启动 config-server
- 4. 启动 zipkin-service
- 5. 启动 monitoring-service
- 6. 启动 uaa-service
- 7. 启动 gateway-service
- 8. 启动 admin-service
- 9. 编译安装 common-service
- 10. 启动 user-service
- 11. 启动 blog-service
- 12. 启动 log-service
- 16.4 项目演示
-
- 创建一个用户
- 使用创建的用户登录
- 16.5 总结
相关资源
深入理解Spring Cloud与微服务构建 书籍源码
第7章 声明式调用 Feign
7.1 写一个 Feign 客户端
Non-resolvable parent POM for Could not find artifact and ‘parent.relativePath’ points at wrong local POM
7.2 FeignClient 详解
7.3 FeignClient 的配置
7.4 从源码的角度讲解 Feign 的工作原理
7.5 在 Feign 中使用 HttpClient 和 OkHttp
7.6 Feign 是如何实现负载均衡的
7.7 总结
第9章 路由网关 Spring Cloud Zuul
9.1 为什么需要 Zuul
9.2 Zuul 的工作原理
9.3 案例实战
9.3.1 搭建 Zuul 服务
9.3.2 在 Zuul 上配置 API 接口的端口号
9.3.3 在 Zuul 上配置熔断器
9.3.4 在 Zuul 上使用过滤器
9.3.5 Zuul 的常见使用方式
第15章 使用 Spring Security OAuth2 和 JWT 保护微服务系统
15.1 JWT 简介
15.1.1 什么是 JWT
15.1.2 JWT 的结构
15.1.3 JWT 的应用场景
15.1.4 如何使用 JWT
15.2 案例分析
15.2.1 案例架构设计
15.2.2 编写主 Maven 工程
15.2.3 编写 eureka-server
15.2.4 编写 uaa 授权服务
1. 引入依赖
2. 配置文件
3. 配置 Spring Security
4. 配置 Authorization Server
5. 生成 jks 文件
15.2.5 编写 user-service 资源服务
1. 依赖管理 pom 文件
2. 配置文件 application.yml
3. 配置 Resource Server
4. 配置 Spring Security
5. 编写用户注册接口
6. 编写用户登录接口
7. 测试
15.3 总结
第16章 使用 Spring Cloud 构建微服务综合案例
16.1 案例介绍
16.2 案例详解
16.2.1 准备工作
16.2.2 构建主 Maven 工程
16.2.3 构建 eureka-server 工程
eureka-server——服务注册中心
16.3 启动源码工程
1. 准备工作
运行环境
- jdk1.8.0_231
- SpringBoot 1.5.3
- SpringCloud Dalston.RELEASE
- maven-3.6.3
- MySQL 5.7.31-log
- RabbitMQ 3.7.8
a. maven 关联
如果在 IDEA 中,项目 chapter16 下的各个模块没有正确的被 Maven 识别并建立依赖关系,必须先进行 Maven 刷新,使各个模块的依赖被正常引入,具体操作如下图:
b. 数据库操作
2. 启动 eureka-server
compile 完成后,会在 eureka-server 模块中生成 target 目录,target 目录即为存放 eureka-server 编译后生成的各种类、配置文件的目录;
运行 eureka-server 目录,效果如下:
3. 启动 config-server
4. 启动 zipkin-service
注意其配置文件为 config-server 项目的 src/main/resources/shared/zipkin-service-pro.yml 文件。
5. 启动 monitoring-service
注意其配置文件为 config-server 项目的 src/main/resources/shared/monitor-service-pro.yml文件。
6. 启动 uaa-service
注意其配置文件为 config-server 项目的 src/main/resources/shared/uaa-service-pro.yml文件。
注意 uaa-service 项目连接了 sys-user 数据库,注意其数据库配置;
7. 启动 gateway-service
注意其配置文件为 config-server 项目的 src/main/resources/shared/gateway-service-pro.yml文件。
8. 启动 admin-service
注意其配置文件为 config-server 项目的 src/main/resources/shared/gateway-service-pro.yml文件。
9. 编译安装 common-service
10. 启动 user-service
11. 启动 blog-service
12. 启动 log-service
16.4 项目演示
创建一个用户
curl -X POST --header 'Content-Type:application/json' --header 'Accept:application/json' -d '{"password":"123456","username":"gongxf"}' 'http://localhost:5000/userapi/user/registry'
{ "id":2,"username":"gongxf","password":"$2a$10$oEq9i6FWmvqqK0PXodkf5O.QtvzJkrVXoN9HENNgosK8PvX7uMT8y"}
使用创建的用户登录
curl -X POST --header 'Content-Type:application/json' --header 'Accept:application/json' 'http://localhost:5000/userapi/user/login?username=gongxf&password=123456'
{ "code":0,"error":"","data":{ "user":{ "id":2,"username":"gongxf","password":"$2a$10$oEq9i6FWmvqqK0PXodkf5O.QtvzJkrVXoN9HENNgosK8PvX7uMT8y"},"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDAwNjYyNDMsInVzZXJfbmFtZSI6Imdvbmd4ZiIsImp0aSI6IjhkYjVhMzRhLTRlYjctNGM1My1iODliLTU3MzQ3YmJiYzZlZiIsImNsaWVudF9pZCI6InVhYS1zZXJ2aWNlIiwic2NvcGUiOlsic2VydmljZSJdfQ.FQLWlmwui6FS5XyjzwR0TKij72taJHLbLoQiQy9_n_YaCRyKNEVwUy7TYppYF9Qn6mghSGSKUONgH1IMLsJXwsbiSH_neR_-y1SQeYbqcZaacjuMt5QRnFzCK-MvnvoNUzNVX8TG9xEwQDIdli_7OtyGNlDnwqa4x7Zy2bfBX5Rj0XLpLsRZXXb09FUgLYA_HTprJR5w--GB25Oe-L0SfOqBeb5KEcpdI-d31FUGZR0R8spi8zFFGqhvoYwnjQUrNQ1GhKLQ2QL2CcRMUqkl2IMdDNt0cxWX95Abqm3use5YWVemKKjcn2H_OcEg1DvOFh0rKY59kdbnEYb8mtfdNA"}}