SpringCloud Alibaba Nacos 服务注册和配置中心
博客参考学习视频 SpringCloud Alibaba Nacos 服务注册和配置中心一、Nacos 简介① 为什么叫 Nacos前四个字母分别为 Naming 和 Configuration 的前两个字母,最后的 s 为 Service。 ② 是什么一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心。 Nacos : Dynamic Naming and Configuration Service Nacos 就 是 注 册 中 心 + 配 置 中 心 的 组 合 等 价 于 Nacos = Eureka + Config+Bus ③ 能干嘛 代替 Eureka 做服务注册中心 替代 Config 做服务配置中心 ④ 去哪下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#_spr ...
SpringCloud Sleuth 分布式请求链路
博客学习参考视频 一、概述① 为什么会出现这个技术? 需要解决哪些问题? 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延迟或错误都会引起整个请求最后的失败。 ② 是什么https://github.com/spring-cloud/spring-cloud-sleuth Spring Cloud Sleuth 提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了 zipkin。 ③ 解决 二、搭建链路监控步骤① zipkin 下载 SpringCloud 从 F 版起已不需要自己构建 Zipkin server 了,只需要调用 jar 包即可 https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/ zipkin-server-2.12.9.exec.jar 运行 jar 运行控制台 http://localhost:9411/z ...
SpringCloud Stream 消息驱动
博客学习参考视频 一、消息驱动概述① 是什么 一句话: 屏蔽底层消息中间件的差异,降低切换版本,统一消息的编程模型 官网 https://spring.io/projects/spring-cloud-stream#overview Spring Cloud Stream 是用于构建与共享 消息传递系统 连接的高度可伸缩的事件驱动微服务框架,该框架提供一个灵活的编程模型,它建立在 spring 的基础上,包括支持持久化的发布/订阅、消费以及分区 这三个核心概念 https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/3.0.1.RELEASE/reference/html/ Spring Cloud Stream 中 文 指 导 手 册 :https://m.wang1314.com/doc/webapp/topic/20971999.html ② 设计思想 标准 MQ 生产者/消费者 之间靠消息媒介传递消息内容 – Message 消息必须走特定的通道 – 消息通道 MessageCh ...
SpringCloud Alibaba 入门简介
博客参考学习视频 SpringCloud Alibaba 入门简介一、 why 会出现 SpringCloud Alibaba 入门简介① spring cloud Netflix 项目进入维护模式 说明: Spring Cloud Netflix 项目进入维护模式 最近,Netflix 正式进入维护阶段模式。自 2016 年以来, Ribbon 已处于类似的状态。虽然 Hystrix 和 Raibbon 现处于维护模式,但它们仍在 Netflix 大规模的部署。 Hystrix 仪表板和涡轮已被 Atlas 取代。对这些项目的最后承诺分别是 2 年和 4 年前。Zuul 1 和 Archaius 1 都已被不向后兼容的更高版本所取代。 以下 Spring Cloud Netflix 模块和相应的启动器将进入维护模式: spring-cloud-netflix-archaiusspring-cloud-netflix-hystrix-contractspring-cloud-netflix-hystrix-dashboardspring-cloud-netflix-hystrix-st ...
SpringCloud Bus 消息总线
博客学习参考视频 一、概述① 上一讲解的加深和扩充, 一言以蔽之 分布式自动刷新配置功能,Spring Cloud Bus 配合 Spring Cloud Config 使用可以实现配置的动态刷新。 ② 是什么 Bus 支持两种消息代理: RabbitMQ 和 Kafka ③ 能干嘛 ④ 为何被称为总线 二、RabbitMQ 环境配置安装采用的是 Linux CentOS7 的 Docker 容器,具体安装请参考这篇博客:https://oy6090.top/2020/10011634411798.html 安装完成之后,测试:你的 linux 地址:15672 输入账号密码并登录: guest guest 三、SpringCloud Bus 动态刷新全局广播1.必须先具备良好的 RabbitMQ 环境2.演示广播效果, 增加复杂度, 再以 3355 为模板再制作一个 3366 新建: cloud-config-client-3366 12345678910111213141516171819202122232425262728293031323334353637383940 ...
SpringCloud 分布式配置中心
博客学习参考视频 ① 概述1.分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对小,因此系统中出现大量的服务,由于每个服务都需要配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。 SpringCloud 提供了 ConfigServer 来解决这个问题,我们每一个微服务自己的带着一个 application.yml, 上百个配置文件的管理…o(╥﹏╥)o 2.是什么 是什么SpringCloud Config 为微服务架构中微服务提供了集中化的外部配置支持,配置服务器为各个不同微服务应用的的所有环境提供了一个中心化的外部配置。 如何使用 Spring Cloud 分为服务端和客户端两部分 服务端也称为分布式配置中心,它是一个独立的微服务应用, 用来连接配置服务器并为客户端提供获取配置信息,加密/ 解密信息等访问接口。 客户端则是通过制定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取好加载配置信息配置服务器默认采用 git 来存储配置信息,这样就有助于缓解配置惊醒版本管理,并且可以 ...
SpringCloud 服务网关
博客学习参考视频 GateWay 新网关① 概述简介1.官网 上一代网关 zuul 1.X:https://github.com/Netflix/zuul/wiki 当 前 网 关 gateway :https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/ 2.是什么概述: 一句话: SpringCloud Getaway 使用的 Webflux 中的 reactor-netty 响应式编程组件,底层使用的 Netty 通讯框架 源码框架 3.能干嘛 反向代理 鉴权 浏览控制 熔断 日志监控 …. 4.微服务架构中网关在哪里 5.有了 Zuul 了怎么又出来了 gateway 我们为什么选择 Gatway? neflix 不太靠谱, zuul2.0 一直跳票,迟迟不发布 SpringCloud Gateway 具有如下特性 SpringCloud Gateway 与 Zuul 的区别 Zuul1.x 模型 ...
SpringCloud 服务降级
博客学习参考视频 一、Hystrix 断路器① 概述1.分布式系统面临的问题 2.是什么 3.能干嘛 服务降级 服务熔断 接近实时的监控 4.官 网 资 料 https://github.com/Netflix/Hystrix/wiki/How-To-Use 5.Hystrix 官宣,停更进维 https://github.com/Netflix/Hystrix 不在修复 Bug 不在接收合并请求 不在发布新版本 ② Hystrix 重要概念1.服务降级服务器忙, 请稍候再试, 不让客户端等待并立刻返回一个友好提示, fallback 哪些情况会触发降级: 1 程序运行异常、 2 超时、 3 服务熔断触发服务降级 、4 线程池/信号量打满也会导致服务降级 2.服务熔断 类比保险丝达到最大服务访问后, 直接拒绝访问, 拉闸限电, 然后调用服务降级的方法并返回友好提示,就是保险丝。 服务的降级->进而熔断->恢复调用链路 3.服务限流 秒杀高并发等操作, 严禁一窝蜂的过来拥挤, 大家排队, 一秒钟 N 个, 有序进行 ③ hystrix 案例1.构建 新建 ...
SpringCloud 服务注册与发现
本篇博客参考学习视频 一、Eureka 服务注册与发现① Eureka 基础知识1. 服务治理 SpringCloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理。 在传统的 RPC 远程调用框架中, 管理每个服务与服务之间依赖关系比较复杂, 所以需要使用服务治理管理服务与服务之间依赖关系, 了以实现服务调用、 负载均衡、容错等, 实现服务发现与注册 。 2. 服务注册 3.Eureka 两组件 ② 单机 Eureka 构建步骤1.IDEA 生成 EurekaServer 端服务注册中心 类似物业公司 建 Module 改 POM 12345678910111213141516171819202122232425262728293031323334353637<dependencies> <!--eureka-server--> <dependency> <groupId>org.springframework.cloud</groupId> < ...
SpringCloud 服务调用
博客学习参考视频 一、Ribbon 负载均衡服务调用① 概述1.是什么 2.官网资料 https://github.com/Netflix/ribbon/wiki/Getting-Started Ribbon 目前也进入维护模式 未来替换方案 3.能干嘛 LB(负载均衡) : 集中式 LB、 进程内 LB ,前面我们写过了 80 通过轮询负载访问 8001/8002 一句话: 负载均衡+RestTemplate 调用 ② Ribbon 负载均衡演示1.架构说明 总结: Ribbon 其实就是一个软负载均衡的客户端组件,他可以和其他所需请求的客户端结合使用,和 eureka 结合只是其中的一个实例。 2.POM 3.RestTemplate 的使用官网:https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html getForObject 方法/getForEntity 方法 postForObj ...