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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 基于 Spring Cloud 的微服务设计和开发,已经越来越多地得到了更多企业的推广和应用,而 Spring Cloud 社区也在不断的迅速发展壮大之中,近几年时间,Spring Cloud 的版本也经历了快速的迭代和更新。

前言

基于 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方法
  • 获取请求数据
  • 遍历集合
  • 表单提交

图书管理案例

  • 运行案例
  • 案例模块
  • 新建图书
  • 数据库
  • 用户登录
  • 图书展示
  • 案例架构

疯狂的微服务】学习笔记获取方式:

最后

小编进入分享的学习笔记到这里就结束了,欢迎大家一起交流,喜欢文章记得关注我点赞哟,感谢支持!重要的事情说三遍,转发+转发+转发,一定要记得转发哦!!

相关文章
|
3天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
12天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
2天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
11 1
服务架构的演进:从单体到微服务的探索之旅
|
1天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
13 5
|
3天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
17 7
|
2天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
13 5
|
2天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
5天前
|
消息中间件 供应链 架构师
微服务如何实现低耦合高内聚?架构师都在用的技巧!
本文介绍了微服务的拆分方法,重点讲解了“高内聚”和“低耦合”两个核心设计原则。高内聚强调每个微服务应专注于单一职责,减少代码修改范围,提高系统稳定性。低耦合则通过接口和消息队列实现服务间的解耦,确保各服务独立运作,提升系统的灵活性和可维护性。通过领域建模和事件通知机制,可以有效实现微服务的高效拆分和管理。
23 7
|
1天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
3天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?