20.cloudAlibaba-Sentinel服务熔断与持久化
1.限流之@SentinelResource1.1 按资源名称限流+后续处理启动Nacos成功启动Sentinel成功Module1. 新建cloudalibaba-sentinel-service8401
2. pom.xml
123456<dependency> <groupId>com.atguigu.springcloud</groupId> <artifactId>cloud-api-commons</artifactId> <version>${project.version}</version></dependency>
3. application.yml
123456789101112131415161718192021server: port: 8401spring: application: name: cloudalibaba-sentinel-service cloud: nacos: disco ...
19.cloudAlibaba-Sentinel服务限流与降级
官网:https://github.com/alibaba/Sentinel
中文:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D
是什么
能干嘛
代替了Hystrix
服务雪崩
服务降级
服务熔断
服务限流
Sentinel分为两个部分:
核心库(Java客户端)不依赖任何框架/库,能够运行于所有Java运行时环境,同时对Dubbo/Spring Cloud等框架也有较好的支持。
控制台(Dashboard)基于SpringBoot开发,打包后可以直接运行,不需要额外的Tomcat等应用容器。
安装步骤:
前提
java8环境OK
8080端口不能被占用
下载地址:https://github.com/alibaba/Sentinel/releases
下载到本地sentinel-dashboard-1.7.0.jar
运行命令:java -jar sentinel-dashboard-1.7.0.jar
访问sentinel管理界面
http://localhost:80 ...
15.SpringCloud-Sleuth分布式请求链路跟踪
问题: 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协调产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延迟或错误都会引起整个请求最后的失败。
SpringCloud Sleuth提供了一套完整的服务跟踪的解决方案在分布式系统中提供追踪解决方案并且兼容支持了zipkingithup:https://github.com/spring-cloud/spring-cloud-sleuth官网:https://cloud.spring.io/spring-cloud-sleuth/reference/html/
Sleuth 负责收集整理,Zipkin负责展现。
1.Sleuth 搭建链路监控步骤1.1 zipkin下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/SpringCloud从F版起已不需要自己构建Zipkin Server了,只需调用jar包
下载后为zipkin-server-2.12.9.exe ...
16.SpringCloud-Alibaba入门简介
why会出现SpringCloud alibaba
Spring Cloud Netflix项目进入维护模式
什么是维护模式
](https://zhangxin-blog.oss-cn-beijing.aliyuncs.com/blog/SpringCloud/Alibaba/netflix1.png)
进入维护模式意味着什么呢?
### 1.SpringCloud alibaba带来了什么?
是什么
能干嘛
服务限流降级:默认支持Servlet、Feign、RestTemplate、Dubbo和RocketMQ限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级Metrics监控。
服务注册与发现:适配SpringCloud服务注册与发现标准,默认集成了Ribbon的支持。
分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
消息驱动能力:基于SpringCloud Stream为微服务应用构建消息驱动能力。
阿里云对象存储:阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的 ...
17.cloudAlibaba-Nacos服务注册与配置中心
1.Nacos简介前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service.
是什么:
一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos:Dynamic Naming and Configuration Service
Nacos就是 注册中心 + 配置中心的组合
Nacos = Eureka + Config + Bus
能干嘛:替代Eureka做服务注册中心
替代Config做服务配置中心
去哪下:
这是我用的1.1.4https://github.com/alibaba/nacos/releases/tag/1.1.4
github: https://github.com/alibaba/Nacos
官方文档: https://nacos.io/zh-cn/index.html
学习手册:https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibab ...
18.cloudAlibaba-Nacos集群与持久化
Nacos持久化配置解释
Nacos默认自带的是嵌入式数据库derby
https://github.com/alibaba/nacos/blob/develop/config/pom.xml
1. derby到mysql切换配置步骤1.1 nacos-server-1.1.4\nacos\conf目录下找到sql脚本nacos-mysql.sql执行脚本
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214 ...
13.SpringCloud-Bus消息总线
1.简介:SpringCloud Bus配合SpringCloud Config使用可以实现配置的动态刷新
SpringCloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。SpringCloud Bus目前支持 RabbitMQ 和 Kafka。
1.1 能干什么:SpringCloud Bus能管理和传播分布式系统间的消息,就像一个分布式执行器,可用于广播状态更改、事件推送,也可以当作微服务间的通信信道
1.2 什么是总线?在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。在总线上的各个实例,都可以方便的广播一些需要让其他连接在该主题上的实例都知道的消息。
1.3 基本原理ConfigClient 实例都监听MQ中同一个topic(默认是springcloubus),当一个服务刷新数据的时候,它会把这个信息放入到Topic中,这样其他监听统一topic的服务就能得到通知,然后去更新自身的 ...
14.SpringCloud-Stream消息驱动
14.SpringCloud-Stream消息驱动
11.SpringCloud入门-GateWay服务网关
1.Gateway网关概述官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/
Cloud 全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是Spring Cloud Gateway
Gateway是在Spring 生态系统之上构建的API网关服务,基于Spring 5,SpringBoot 2和Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等。
一句话:Spring Cloud Gateway使用的是Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架。
功能:
反向代理
鉴权
流量控制
熔断
日志监控。。。
微服务架构中网关的位置
为什么选择Gateway
netfl ...
12.SpringCloud-Config分布式配置中心
分布式系统面临的问题——配置问题
微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要有配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题。
是什么?
官网:
SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。
怎么玩?
SpringCloud Config分为服务端和客户端两部分
服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口
客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息,配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过 ...



