Spring Cloud / Alibaba
文章平均质量分 93
以实战为线索,逐步深入各个环节,掌握常用的原理,提升工程化代码能力和思维能力。
七月J
从事后端(做过前端),不断积累经验,学习新的技术。
展开
-
SpringCloud Alibaba 全部组件说明
一、SpringCloud Alibaba1、SpringCloud Alibaba简介1)、简介Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。 此项目包含开发分布式应用微服务的必需组件,方便开发者通过Spring Cloud编程模型轻松便用这些组件来开发分布式应用服务。依托Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将SpringCloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。https://gi原创 2020-12-02 20:54:01 · 5534 阅读 · 3 评论 -
Spring Cloud 五大组件(整合业务场景说明)
1、什么是微服务微服务就是把一个单体项目,拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维等;并且多个服务相互协调,相互配合,最终完成用户的价值。2、Springcloud是什么、Springcloud中的组件有哪些?Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务。服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——N转载 2021-10-08 10:13:53 · 2280 阅读 · 3 评论 -
SpringCloud Alibaba-Sentinel 实现熔断与限流
1、为什么要引入Sentinel?分布式系统遇到的问题在一个高度服务化的系统中,我们实现的一个业务通常会依赖多个服务;如果其中的下单服务不可用,就会出现线程池里所有线程都因等待响应而被阻塞,从而造成整个服务链路不可用,进而导致整个系统的服务雪崩,如图所示:服务雪崩效应:因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程,就叫做服务雪崩效应。导致服务不可用的原因:激增流量导致系统CUP / Load 飙高,无法正常处理请求激增流量打垮冷系统(数据库连接未创建,缓存未预热)原创 2021-11-11 15:24:48 · 579 阅读 · 0 评论 -
SpringCloud(十三)Alibaba Nacos服务注册和配置中心
文章目录SpringCloud Alibaba 简介1、为什么会出现SpringCloud Alibaba2、SpringCloud Alibaba概念3、主要功能4、下载地址5、主要组件Nacos简介1、概念2、能干什么3、下载地址4、各种注册中心对比5、安装并运行Nacos服务注册中心1、基于Nacos服务提供者2、基于Nacos服务消费者3、服务注册中心对比Nacos服务配置中心1、Nacos作为配置中心 - 基础配置2、Nacos作为配置中心 - 分类配置SpringCloud Alibaba原创 2021-09-19 12:42:27 · 338 阅读 · 0 评论 -
SpringCloud(十二)Sleuth分布式请求链路追踪
为什么会出现这个技术?在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每个前段请求都会形成一条复杂的分布式服务调用链路I链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。概述定义:Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin官网介绍:https://github.com/spring-cloud/spring-cloud-sleuth搭建步骤.原创 2021-09-11 16:54:58 · 200 阅读 · 0 评论 -
SpringCloud(十一)Bus消息总线、Stream消息驱动
需求:分布式自动刷新配置功能;解决:SpringCloud Bus配合Spring cloud Config使用可以实现配置的动态刷新。1、概述定义:Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。Spring Clud Bus目前支持RabbitMQ和Kafka。能干什么?Spring Cloud Bus能管理和传播分布式系统间的消息,就像一个分布式执行器, 可用于广播状态更改、事件推送等,也可以当作微原创 2021-09-05 17:29:30 · 2643 阅读 · 1 评论 -
SpringCloud(十)Config配置中心
微服务就意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer 来解决这个问题。1、概述定义:SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。SpringCloud Config分为服务端和客户端两个部分:服务原创 2021-09-05 14:51:18 · 280 阅读 · 0 评论 -
SpringCloud(九)GateWay服务网关
1、概述简介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、是什么Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuu|网关;但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网原创 2020-12-23 10:48:20 · 393 阅读 · 0 评论 -
SpringCloud(八)Hystrix断路器
1、概述分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所谓的“雪崩效应”。对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序原创 2020-09-24 21:34:47 · 269 阅读 · 0 评论 -
SpringCloud(七)OpenFeign负载均衡服务调用
Feign负载均衡Feign是一个声明式WebService客户端,使用方法时定义一个接口并在上面添加注解即可。Feign支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持SpringMVC和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。使用案例新建Feign模块,加入依赖(其实跟80消费者差不多,主要是多了Feign依赖) <dependencies> <原创 2020-09-16 16:38:48 · 942 阅读 · 0 评论 -
SpringCloud(六)Ribbon负载均衡服务调用
Ribbon负载均衡Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具。Ribbon会自动帮助你基于某种规则(简单轮询、随机连接等),也可以实现自定义的负载均衡算法。负载均衡英文名称:Load Balance,微服务或分布式集群中常用的一种应用简单来说负载均衡就是将用户的请求ping平摊的分配到多个任务上,从而是系统达到HA(高可用)两种负载均衡:集中式LB:偏硬件,服务的消费方和提供方之间使用独立的LB设施,由该设施负责把访问请求原创 2020-09-15 22:24:34 · 434 阅读 · 0 评论 -
SpringCloud(五)Consul服务注册与发现
SpringCloud(四)zookeeper介绍及原理:https://blog.csdn.net/weixin_45606067/article/details/108538357Consul简介是什么官网:https://www.consul.io/intro/index.htmlConsul是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语言开发。提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建原创 2020-09-14 15:27:50 · 195 阅读 · 0 评论 -
SpringCloud(四)zookeeper介绍及原理
Eureka与Zookeeper对比CAP设计原则不同Eureka遵守AP,Zookeeper遵守CP(C:强一致性,A:高可用,P:分区容错性,三者只能选其二,高并发下P必选)网络波动下两者的处理对比ZookeeperEureka当网络出现故障时,剩余zk集群会发起投票选举新的leader,但是此过程会持续30~120s,此过程对于高并发来说十分漫长,会导致整个注册服务的瘫痪,这是不可容忍的在15分钟内85%的节点都没有心跳,则注册中心 会认为客户端与之出现了网络故障,则会进原创 2020-09-14 10:05:19 · 540 阅读 · 0 评论 -
SpringCloud(三)Eureka服务注册中心
Eureka服务注册与发现Eureka介绍及原理理解Eureka就像一个物业管理公司,其他微服务就像小区的住户,每个住户入住时都要向物业管理公司注册,并定时向物业公司交管理费介绍Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。Eureka主管服务注册与发现,在微服务中,以后了这两者,只需要使用服务的标识符(就是那个在每个服务的yml文件中取得服务名称),就可以访问到服务,不需要修改服务调用的配置文件Eureka遵循AP原则(高可用,分区容错性),因为使原创 2020-09-11 17:20:41 · 340 阅读 · 0 评论 -
SpringCloud(二)入门案例之支付模块与订单模块的调用
以 SpringBoot 2.X版 和 SpringCloud X版 为例构建SpringCloud工程概述:SpringCloud工程由一个父工程和若干个Module组成应该遵循的条件:约定 > 配置 > 编码RestTemplate类介绍RestTemplate是Spring提供的用于访问Rest服务的客户端模板工具集,提供了多种远程访问Http的方法意义在一些不涉及实现方法的模块中(消费者),只需要调用其他服务暴露出的接口即可满足的需求,使用RestTemplate类中的方原创 2020-09-10 15:33:35 · 1015 阅读 · 2 评论 -
SpringCloud(一)微服务概述
微服务概述马丁福勒微服务论文:https://martinfowler.com/articles/microservices.html什么是微服务目前的微服务并没有一个统一的标准,一般是以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。与微服务相对的叫巨石微服务与微服务架构微服务是一种架构模式或者一种架构风格,提倡将单一应用程序划分成一组小的服务独立部署,服务之间相互配合、相互协调,每个服务运行于自己的进程中。服务与服务间采用轻量级通原创 2020-09-09 09:56:05 · 291 阅读 · 0 评论