花一周时间,啃完这套京东架构师独家微服务笔记,成功面进字节

179 篇文章 1 订阅
14 篇文章 1 订阅

 前言

基于 Spring Cloud 的微服务设计和开发,已经越来越多地得到了更多企业的推广和应用,而 Spring Cloud 社区也在不断的迅速发展壮大之中,近几年时间,Spring Cloud 的版本也经历了快速的迭代和更新。

本场小编将带领大家体验如何使用 Spring Cloud 从微服务的设计、开发到部署、发布的全过程,在这一过程中,您将可以学到,怎么快速构建一个 Spring Cloud 项目工程,怎么使用最新版本的 Spring Boot 开发框架开发微服务应用,以及如何使用 Consul 进行微服务治理,并以此构建一个高性能的分布式环境,同时体会如何使用 Docker 进行微服务发布。

小编接下来分享的这份学习笔记将以图片的形式展现出来,小编会阐述详细的知识小结。

一、Spring Cloud 概述

本章将会简述 Spring Cloud 的功能,描述什么是 Spring Cloud ,它能为我们带来什么,为后面学习该框架的知识打下理论基础。

传统的应用

  • 架构演进

  • 架构要求

学习方面的准备工作

  • 下载本书的软件及源码

  • 导入本书的案例

微服务与 Spring Cloud

  • Spring Cloud 与 Netflix

  • 什么是微服务

  • Spring Cloud 的主要模块

小结

该学习笔记获取方式前往资料库即可获取已整理好的资料集锦

二、搭建开发环境

工欲善其事,必先利其器 在讲述本书的技术内容前,先将开发环境搭建好,本书所涉及的基础环境将在本章准备,

安装 Eclipse

  • Eclipse 版本

  • 在 Eclipse 中配置 Maven

安装与配置 Maven

  • 关于 Maven

  • 下载与安装 Maven

  • 配置远程仓库

Spring Boot 的配置文件

  • 默认配置文件

  • 指定配置文件位置

  • YML 文件

  • 运行时指定 profiles 配置

  • 热部署

Spring Boot

  • Spring Boot 简介

  • 新建 Maven 项目

  • 编写启动类

  • 编写控制器

  • 发布 RESTWebService

小结

三、微服务发布与调用

Eureka 介绍

  • 关于 Eureka

  • Eureka 架构

  • 服务器端

  • 服务提供者

  • 服务调用者

Eureka 集群搭建

  • 改造服务调用者

  • 改造服务提供者

  • 本例集群结构图

  • 改造服务器端

编写 REST 客户端进行测试

第一个 Eureka 应用

  • 构建服务器

  • 编写服务提供者

  • 服务器注册开关

  • 编写服务调用者

Eureka 的常用配置

  • 心跳检测配置

  • 配置与使用元数据

  • 注册表抓取间隔

  • 自我保模式

服务实例的健康自检

  • 程序结构

  • 实现应用健康自检

  • 使用 Spring Boot Actuator

  • 服务查询

四、负载均衡

Ribbon 介绍

  • Ribbon 简介

  • 负载均衡器组件

  • Ribbon 子模块

第一个 Ribbon 程序

  • 编写服务

  • Ribbon 的配置

  • 编写请求客户端

在 Spring Cloud 中使用 Ribbon

  • 准备工作

  • 使用配置文件设置 Ribbon

  • 使用代码配置 Ribbon

  • Spring 使用 Ribbon 的 API

Ribbon 的负载均衡机制

  • 负载均衡器

  • Ribbon 自带的负载规则

  • 自定义负载规则

  • 自定义 Ping

  • Pingg 机制

  • 其他配置

RestTemplate 负载均衡

  • @LoadBalanced 注解概述

  • 使用自定义拦截器以及注解

  • 编写自定义注解以及拦截器

  • 在控制器中使用 RestTemplate

五、REST 客户端 Feign

REST 客户端

  • 使用 CXF 调用 REST 服务

  • Feign 框架介绍

  • 使用 Restlet 调用 REST 服务

  • 请求参数与返回对象

  • 第一个 Feign 程序

在 Spring Cloud 中使用 Feign

  • Spring Cloud 整合 Feign

  • 默认配置

  • Feign 负载均衡

  • 可选配置

  • 自定义配置

  • 压缩配置

使用 Feign

  • 编码器

  • 解码器

  • 自定义编码器与解码器

  • XML 的编码与解码

  • 使用第三方注解

  • 自定义 Feign 客户端

  • Feign 解析第三方注解

  • 接口日志

  • 请求拦截器

六、Spring Cloud 的保护机制

概述

  • 实际问题

  • 集群容错框架 Hystrix

  • 传统的解决方式

  • Hystrix 的功能

第一个 Hystrix 程序

  • 准备工作

  • 调用错误服务

  • 客户端使用 Hystrix

  • Hystrix 的运作流程

在 Spring Cloud 中使用 Hystrix

  • 整合 Hystrix

  • 默认配置

  • 命令配置

  • 缓存注解

  • Feign 与 Hystrix 整合

  • 合并请求注解

Hystrix 的使用

  • 命令执行

  • 回退

  • 属性配置

  • 回退的模式

  • 断路器关闭

  • 断路器开启

  • 合并请求

  • 隔离机制

  • 请求缓存

该学习笔记获取方式前往资料库即可获取已整理好的资料集锦

七、微服务集群网关

Zuul 框架介绍

  • 关于 Zuul

Spring Cloud 集群提供了多个组件,用于进行集群内部的通信,例如服务管理组件 Eurek ,负载均衡组件 Ribbon 。如果集群提供了 API 或者 Web 服务,需要与外部进行通信,较好的方式是添加一个网关,将集群的服务都隐藏到网关后面。

  • Zuul 的功能

在 Web 项目中使用 Z u u l

  • Web 项目整合 Zuul

  • 过滤器运行机制

  • 测路由功能

在微服务集群中初试 Zuul

  • 集群搭建

  • Zuul Http 客户端

  • 路由到集群服务

路由配置

  • 简单路由

  • Ribbon 路由

  • 跳转路由

  • 自定义路由规则

Zuul 的其他配置

  • 请求头配置

  • Zuul 与 Hystrix

  • 路由端点

  • Zuul 中预加载 Ribbon

Zuul 功能进阶

  • 过滤器优先级

  • 动态加载过滤器

  • 自定义过滤器

  • 禁用过滤器

  • @EnableZuulServer 注解

  • 态路由

  • error 过滤器

八、微服务与消息驱动

  • Spring Cloud Stream 介绍

  • Spring Cloud Stream 介绍

  • Stream 框架的组成部分

  • 关于 Stream 框架

消息代理中间件

Apache Kafka 框架

  • 关于 Kafka

  • 编写生产者

  • 运行 Kafka 服务器

  • 编写消费者

  • 消费者组

RabbitMQ 框架

  • RabbitMQ 和 AMQP

  • 编写生产者

  • 下载与运行

  • 交换器、绑定与队列

  • 编写消费者

开发消息微服务

  • 准备工作

  • 编写消费者

  • 编写生产者

  • 更换绑定器

  • 消费者组

  • Sink、Source 与 Processor

九、集群配置中心

概述

  • 关于 Spring Cloud Config

  • 搭建 SVN 环境

  • 应用结构

  • 引导程序简介

构建第一个例子

  • 创建服务器

  • 创建客户端

  • 配置 SVN 仓库

  • 从客户端读取 SVN 配置

  • 刷新配置

  • 目录配置总结

  • 刷新 Bean

其他配置

  • 服务器健康指示器

  • 安全配置

  • 客户端的错误提前与重试机制

  • 访问服务器配置

配置的加密和解密

  • 为服务器安装 JCE

  • SVN 存储加密数据

  • 加密和解密端点

  • 非对称加密

整合使用

  • 准备工作

  • 整合 Zuul

  • 配置服务器、客户端整合 Eureka

  • 刷新单个节点配置

  • 整合 Spring Cloud Bus 刷新配置

十、微服务跟踪

概述

  • 实际问题与 Sleuth

  • Sleuth 的基本概念

  • 服务跟踪系统

  • 项目准备

Sleuth 整合 ELK

  • 关于 ELK

  • 下载 ELK

  • 使用 Logstash 读取 JSON

  • 运行 Elasticsearch

  • 使用 Logback 转换 JSON

  • 使用 Kibana 展示数据

Sleuth 整合 Zipkin

  • Zipkin 简介

  • 配置微服务

  • 构建 Z i p kin 服务器项目

  • 查看数据

  • 使用消息采集数据

  • 使用 MySQL 保存数据

十一、微服务数据库实战

概述

  • 关于 Spring Data

  • Spring Data 的模块

  • Spring Data 的功能

Spring Data 与 JPA

  • 构建项目

  • 自定义数据存储逻辑

  • 数据访问层与业务层

  • 使用@Query 注解

  • 方法名查询

Spring Data 与 Redis

  • Redis 的安装与配置

  • 使用 Jedis

  • Redis 的数据类型

  • 构建 Spring Data 项目

  • 自定义数据存储逻辑

  • 数据访问层与业务层

  • 方法名查询

  •  Spring Data 与 MongoDB

  • MongoDB 的概念

  • 安装 MongoDB

  • 配置权限

  • 数据访问层与业务层

  • 构建项目

  • 自定义数据存储逻辑

  • 使用@Query 注解

  • 方法名查询

十二、案例实战

概述

  • 案例概述

  • 表现层技术

  • 案例技术选型

Spring Boot 与 JSP

  • 配置

  • 构建项目

  • 打包部署

模板引擎 Thymeleaf

  • 关于 Thymeleaf

  • Spring B o o t 整合 Thymeleaf

  • 调用 Bean 方法

  • 获取请求数据

  • 遍历集合

  • 表单提交

图书管理案例

  • 运行案例

  • 案例模块

  • 新建图书

  • 数据库

  • 用户登录

  • 图书展示

  • 案例架构

小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。
我有一些面试题、架构、设计类资料可以说是程序员面试必备!所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【07】即可免费获取

 

原文出处:xie.infoq.cn/article/789224e08e6d0f66d38e36c44

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值