SpringCloud Alibaba组件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Alibaba组件相关的知识,希望对你有一定的参考价值。
参考技术A一.组件组成
二. 各个组件的介绍
2.1. Gateway
GateWay是在spring生态系统上构建的API网关服务,它是基于springboot2,spring5,和project Reactor等技术
2.1.2 作用:
2.1.3优势
性能方面比zuul要好,因为gateway是基于webFlux框架实现(底层是Reactor模式的netty)
2.1.4 特点
2.1.5 为什么选择gateway?
3.三大核心概念
路由: 是构建网关的基本模块,他由id,目标url,一系列的断言和过滤器组成,如果断言为true则匹配该路由.
断言:
过滤: 过滤请求用的
4.工作流程
路由转发+ 过滤器链
二: config 分布式配置中心
1. 产生背景: 微服务项目中会根据业务来拆分成一个个子服务,而每个服务都会有自己的配置文件为了统一管理,所以configserver应运而生了.
2.概念:
springcloud config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为 各个不同的微服务 应用的所有环境提供一个 中心化的外部配置 .
3.作用:
1. 为了集中式和动态的管理配置信息
2.运行期间动态调整配置不在需要在每个服务器上部署的机器上编写配置文件,服务会向配置中心统一拉取配置信息
3.动态加载配置信息,服务不用重启就可以感知配置的变化并应用配置
4.把配置信息以rs风格接口的形式暴露(post或curl命令)
ps: 其实就相当于项目里的公共模块,一个意思
那我们如何使用它呢?
一. 首先config分为客户端和服务端.
二. 服务端其实就是我们常说的 分布式配置中心 ,它是一个独立的微服务应用, 可以用来连接配置服务器并为客户端提供获取配置信息,加密,解密信息等接口.
三. 而客户端是通过指定的配置中心来管理应用资源,这样有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理来访问配置内容.
四.分布式配置动态刷新问题
实现步骤:
1.pom里添加actuator监控
2.yml 暴露监控端点
3. 启动类上加 @RefreshScope
4.curl -X POST " http://ip:port/actuator/refresh "(每次修改后必须执行这个,否则客户端还是读取不到最新的配置信息)
五. 如果有多个客户端,难道每个微服务都要执行一次post命令?
可不可以只改一处,让其他的地方都生效
三. Bus 消息总线
1.概念
springcloud Bus 是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了java的时间处理机制和消息中间件的功能
五. Nacos
1. 概念
nacos是一个更易于构建云原生应用的动态服务发现, 配置管理和服务管理平台.
2. 各个配置中心对比
六 . Sentinel
1.概念
把流量作为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性.
七. Seata
1. 概念
阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案.
以上是关于SpringCloud Alibaba组件的主要内容,如果未能解决你的问题,请参考以下文章
17.SpringCloud实战项目-SpringCloud整合Alibaba-Nacos组件
SpringCloud Alibaba :Sentinel 流量控制组件