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来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过 ...
10.SpringCloud-Zuul服务网关
摘要###Spring Cloud Zuul 是Spring Cloud Netflix 子项目的核心组件之一,可以作为微服务架构中的API网关使用,支持动态路由与过滤功能,本文将对其用法进行详细介绍。
1. Zuul简介 API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。
Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。
注 ...
7.SpringCloud-Ribbon负载均衡
1.Ribbon 简介:Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端 负载均衡的工具。
Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon 客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出 Load Balancer(简称LB)后面所有的机器,Ribbon 会自动的帮助你基于某种规则(如简单轮询、随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。
官网资料:https://github.com/Netflix/ribbon/wiki/Getting-started
PS: Ribbon目前也进入维护模式,SpringCloud 想用Spring Cloud LoadBalancer 替代 Netflix 的Ribbon ,但现在 Ribbon 在生产环境中大规模部署,一时半会替不掉
作用: LB负载均衡(Load Balance)
简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。常见的 ...
8.SpringCloud-OpenFeign服务接口调用
官网:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/#spring-cloud-openfeign
1.Feign 简介:Feign 是一个声明式 WebService 客户端。使用 Feign 能让编写Web Service 客户端更加简单。
它的使用方法是定义一个服务接口然后在上面添加注解。Feign 也支持可插拔式的编码器和解码器。Spring Cloud 对 Feign 进行了封装,使其支持了Spring MVC标准注解和 HttpMessageConverters。Feign 可以与 Eureka和Ribbon 组合使用以支持负载均衡。
Github:https://github.com/spring-cloud/spring-cloud-openfeign
Feign 能干什么?Feign 旨在使编写Java Http 客户端变得更容易。前面在使用 Ribbon+RestTemplate时,利用RestTemplate 对http请求的封装处理,形成了一套模板化的调用方 ...



