深入理解 Spring Cloud 与微服务构建_读书笔记

深入理解 Spring Cloud 与微服务构建_读书笔记

相关资源

深入理解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"}}

16.5 总结

猜你喜欢

转载自blog.csdn.net/CSDN_FlyYoung/article/details/108554133