SringCloud

体系架构

概念在这里插入图片描述## 体系架构在这里插入图片描述## 主要技术架构

在这里插入图片描述

版本选择

springboot以数字为版本
springcloud以字母为版本
springboot要用2.0以后版本

版本依赖关系

在这里插入图片描述

选择版本

在这里插入图片描述
在这里插入图片描述

依赖

在这里插入图片描述

微服务组件停更升级替换在这里插入图片描述

Eureka

概念在这里插入图片描述

组件

在这里插入图片描述

server端

依赖

在这里插入图片描述

yml配置文件

在这里插入图片描述

主启动类上加注解在这里插入图片描述

client端

依赖

在这里插入图片描述

yml配置

在这里插入图片描述

在服务端显示的主机名称修改和ip显示

依赖

在这里插入图片描述

yml配置在这里插入图片描述

主启动类添加注解

在这里插入图片描述

实例名称

在这里插入图片描述

server集群

在这里插入图片描述

搭建注意地方

在这里插入图片描述
7001服务守望7002
在这里插入图片描述
7002服务守望7001
在这里插入图片描述
client注册进server集群
在这里插入图片描述

client集群

8001和8002
在这里插入图片描述

80调用时注意
在这里插入图片描述
在这里插入图片描述

获取服务注册信息

主启动类开启

在这里插入图片描述

引进注解

在这里插入图片描述

接口访问

在这里插入图片描述

自我保护机制

在这里插入图片描述
在这里插入图片描述

关闭自我保护机制

服务端配置

在这里插入图片描述

客户端配置

在这里插入图片描述

springcloud整合Zookeeper代替Eureka

服务端

zookeeper服务端放在linux

客户端

依赖

注意zookeeper引进的依赖要和Linux上安装的zookeeper的版本一致,否则启动时会报版本冲突问题在这里插入图片描述

yml配置

在这里插入图片描述

主启动类

在这里插入图片描述

成功启动注册进zookeeper

在这里插入图片描述

服务节点是临时节点

只要服务节点不存在了,zookeeper会在心跳过后直接删除

consul

概念

在这里插入图片描述
服务端直接安装

客户端

依赖

在这里插入图片描述

yml配置

在这里插入图片描述

主启动类

在这里插入图片描述

三个注册中心异同点

在这里插入图片描述

CAP原则

在这里插入图片描述
分布式系统必须满足p,所以分布式系统要不是CP,要不是AP

Ribbon

概念

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

集中式LB

在这里插入图片描述

进程内LB

在这里插入图片描述

eureka已经引入了ribbon

在这里插入图片描述

负载规则替换

在这里插入图片描述
配置类
在这里插入图片描述
主启动类添加注解
在这里插入图片描述

OpenFeign

概念

在这里插入图片描述
在这里插入图片描述
面向接口的调用(服务接口绑定器)
在这里插入图片描述

服务调用

在这里插入图片描述

依赖在这里插入图片描述

开启Feign

在这里插入图片描述

远程接口

在这里插入图片描述
对应关系
在这里插入图片描述

超时控制

概念

在这里插入图片描述

配置在这里插入图片描述

日志打印

简介

在这里插入图片描述

日志级别

在这里插入图片描述

配置Bean

在这里插入图片描述

yml配置

在这里插入图片描述

Hystrix

服务雪崩

在这里插入图片描述

概念

在这里插入图片描述

作用

服务降级(break)

例如:
在这里插入图片描述在这里插入图片描述
既可以放在服务端,也可以放在客户端,一般放在客户端

依赖

在这里插入图片描述

客户端降级
主启动类激活

在这里插入图片描述

客户端业务

在这里插入图片描述

服务端降级
yml配置

在这里插入图片描述

主启动类开启

在这里插入图片描述
业务类和客户端一样

默认降级(每一个方法配置一个问题)

在这里插入图片描述
类上增加注解
在这里插入图片描述
方法上
在这里插入图片描述
默认处理方法
在这里插入图片描述

针对接口处理(和业务代码混在一起)

在这里插入图片描述
在这里插入图片描述
实现类
在这里插入图片描述
接口上增加注解
在这里插入图片描述

服务熔断(fallback)

例如
在这里插入图片描述

概念

在这里插入图片描述

有三种状态

端口、关闭、半开
在这里插入图片描述

服务熔断注解

在这里插入图片描述

熔断效果

错误次数比率太多,如果服务熔断了,开始即使有正确的请求,也可能会不成功;
成功几次,就会成功
在这里插入图片描述
在这里插入图片描述

工作流程

在这里插入图片描述
在这里插入图片描述

服务限流(flowlimit)

例如
在这里插入图片描述

Hystrix Dashboard

在这里插入图片描述

依赖

在这里插入图片描述

主启动类开启

在这里插入图片描述

被监控项目

被监控项目图形化展示需要添加依赖
在这里插入图片描述
启动类配置
在这里插入图片描述

GateWay

简介

在这里插入图片描述
在这里插入图片描述
微服务项目中位置
在这里插入图片描述

选择gateway原因

在这里插入图片描述
gateway底层框架是异步非阻塞的,比Zuul2.0出来的早(占有了市场)

工作流程

在这里插入图片描述

项目搭建

依赖

在这里插入图片描述

yml配置

在这里插入图片描述

不需要web依赖

在这里插入图片描述

访问方式

在这里插入图片描述

路由配置

两种方式

在这里插入图片描述

yml配置

在这里插入图片描述

代码配置

在这里插入图片描述

通过微服务名来实现动态路由

概念

在这里插入图片描述
在这里插入图片描述

yml配置修改

在这里插入图片描述

predicate

实质是路由里边一些条件的匹配
在这里插入图片描述
路径匹配,某个时间之后,带cookie访问
在这里插入图片描述
在这里插入图片描述

gateWay的filter

概念

在这里插入图片描述

自定义过滤器

在这里插入图片描述
在这里插入图片描述

配置中心

背景

在这里插入图片描述

概念

在这里插入图片描述
在这里插入图片描述

作用

在这里插入图片描述

服务端项目搭建

依赖

在这里插入图片描述

yml

在这里插入图片描述

开启配置服务

在这里插入图片描述

配置读取规则

在这里插入图片描述

客户端项目搭建

依赖

在这里插入图片描述

yml

在这里插入图片描述
在这里插入图片描述
yml解析
在这里插入图片描述

动态刷新问题

分布式配置的动态刷新问题

在这里插入图片描述

解决办法

在这里插入图片描述

引入actuator监控

在这里插入图片描述

修改yml,暴露监控端口

在这里插入图片描述

controller增加刷新注解

在这里插入图片描述

刷新客户端生效

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

仍然存在的问题

在这里插入图片描述

消息总线

在这里插入图片描述

目的

实现分布式自动刷新功能
在这里插入图片描述

概念

在这里插入图片描述

工作流程

安装RabbitMQ
设计思想:在这里插入图片描述

配置中心服务端

依赖

在这里插入图片描述

yml

在这里插入图片描述
在这里插入图片描述

配置中心客户端

依赖

在这里插入图片描述

yml

在这里插入图片描述

刷新配置中心服务端

广播通知

在这里插入图片描述
rabbitMQ可以看到消息总线topic
在这里插入图片描述

定点通知

在这里插入图片描述
只通知3355
刷新命令
在这里插入图片描述

消息驱动(stream)

引入的目的

在这里插入图片描述
在这里插入图片描述

概念在这里插入图片描述

统一底层差异

在这里插入图片描述
在这里插入图片描述

遵循发布-订阅模式

在这里插入图片描述
在这里插入图片描述
目前只支持 RabbitMQ合Kafka两种消息中间件

编码api和常用注解

在这里插入图片描述

在这里插入图片描述

项目

在这里插入图片描述

生产者

以rabbitmq作为消息中间件

在这里插入图片描述

yml配置

在这里插入图片描述

发送消息代码

在这里插入图片描述

消费者

依赖
在这里插入图片描述
yml
在这里插入图片描述
接受消息代码
在这里插入图片描述

分组消费与持久化

在这里插入图片描述

存在重复消费问题
在这里插入图片描述

重复消费问题解决

原因

在这里插入图片描述

解决原理

在这里插入图片描述

yml配置分组

在这里插入图片描述

持久化

在这里插入图片描述

消费者配置了分组后,可以支持持久化消费,即当生产者发送消息时,尽管消费者当时没有启动,如果重新启动后仍然可以把没有消费的消息消费;但是对于没有配置分组的消费者来说重新启动后不能把没有消费的消息消费

Sleuth

分布式请求链路跟踪

出现原因

在这里插入图片描述

zipkin搭建安装

在这里插入图片描述
sleuth负责收集整理,zipkin负责展现
在这里插入图片描述
下载好zipkin后直接运行命令运行jar包
在这里插入图片描述

链路依赖关系
在这里插入图片描述

sleuth链路监控展现

引入依赖

在这里插入图片描述

注册到zipkin

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值