
Spring Cloud入门
文章平均质量分 57
程序猫大刚
我是一名软件工程师,为技术奋斗。<br>我的个人博客地址:http://mg.meiflower.top/mb
展开
-
Spring Cloud的链路监控之Zipkin
zipkin简介Zipkin是Twitter开源的分布式跟踪系统,基于Dapper的论文设计而来。它的主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时等问题。官网:http://zipkin.io/ZipKin Server搭建使用https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec下载最新版本的Zipkin Server,例如zipkin原创 2022-01-22 14:07:05 · 422 阅读 · 0 评论 -
Spring Cloud的链路监控之Sleuth
前言如果微服务调用出错了,如果快速定位问题呢?Spring Cloud提供Sleuth来实现调用链监控。Sleuth基础概念(1) Span(跨度):基本工作单元。span用一个64位的id唯一标识。除ID外,span还包含其他数据,例如描述、时间戳事件、键值对的注解(标签),span ID、span父ID等。span被启动和停止时,记录了时间信息。初始化span被称为“root span”,该span的id和trace的id相等。(2) Trace(跟踪):一组共享“root span”的原创 2022-01-22 14:03:43 · 370 阅读 · 0 评论 -
Spring Cloud集成Admin Server
spring cloud集成spring boot admin server在这篇文章Springboot集成Actuator和SpringbootAdminServer监控,我们学到了在spring boot应用中集成spring boot admin server来UI化显示spring boot actuator的endpoint数据。那如果是spring cloud应用呢?如何将集成spring boot admin server来界面化显示应用的指标数据呢?card-admin-server原创 2022-01-22 14:00:03 · 443 阅读 · 0 评论 -
Spring Cloud配置中心之Config Server
spring cloud config简介Spring Cloud Config为分布式系统外部化配置提供了服务器端和客户端的支持,它包括Config Server和Config Client两部分。Config Server是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置内容(也可使用Subversion、MySQL、本地文件系统或Vault存储配置,本博客以Git为例进行讲解),因此可以很方便地实现对配置的版本控制与内容审计。远程gitee仓库原创 2022-01-22 12:38:51 · 1580 阅读 · 0 评论 -
Spring Cloud的网关之Zuul
本文只是简单的zuul入门,尝尝鲜!Zuul简介Zuul是Netflix开源的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用。Zuul的核心是一系列的过滤器,这些过滤器帮助我们完成以下功能:身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求;审查与监控:在边缘位置追踪有意义的数据和统计结果,从而为我们带来精确的生产视图;动态路由:动态地将请求路由到不同的后端集群;压力测试:逐渐增加指向集群的流量,以了解性能;负载分配:为每一种负载类型分配对应容量原创 2022-01-22 12:34:42 · 351 阅读 · 0 评论 -
Spring Cloud熔断器之Hystrix
Hystrix介绍Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix特性Hystrix主要通过以下几点实现延迟和容错。包裹请求 - @HystrixCommand注解(命令模式)跳闸机制 - 5秒内20次失败,一段时间内会停止访问服务资源隔离 - 给每个服务提供小型线程池,线程池满立即拒绝请求监控回退机制 - 开发人员可提供默认回退逻辑自我修复 - 一段时间内,会尝试调用一次服务,请求原创 2022-01-21 23:37:30 · 170 阅读 · 0 评论 -
Spring Cloud的熔断器监控
Hystrix监控actuator的监控节点在actuator下有用来监控hystrix的端点/actuator/hystrix.stream。访问:http://localhost:9202/actuator/hystrix.stream输出:(注意监控时需要请求@HystrixCommand配置的微服务)ping: data: {"type":"HystrixCommand","name":"feignCardRand","group":"TestController","curren原创 2022-01-21 23:36:45 · 523 阅读 · 3 评论 -
Spring Cloud的熔断器
熔断器介绍为什么需要熔断器当一个调用,里面跟着调用其他微服务时,其他微服务不可用,就会阻塞调用线程,从而可能导致调用链路前的微服务不可用,最终导致雪崩。(雪崩效应)这个时候就需要有熔断机制作为保护。熔断器三板斧超时机制舱壁模式断路器支持的熔断器目前Spring Cloud生态中,支持的断路器有:Hystrix、Resilience4J、Alibaba Sentinel,虽然彼此实现有较大差异,但本质原理是相通的。参考https://www.itmuch.com/spring原创 2022-01-21 23:34:41 · 428 阅读 · 0 评论 -
Spring Cloud的服务调用之Feign
Feign介绍如果只用Ribbon里的RestTemplate来调用,会发现URL,参数返回值等都需要写死。ResultObject<CardVo> result = (ResultObject<CardVo>) restTemplate.getForObject( "http://mic-card/card/admin/card/rand", ResultObject.class);如果服务提供者做了调整,则代码变得难以维护。Feign组原创 2022-01-21 23:32:53 · 225 阅读 · 0 评论 -
SpringCloud的负载均衡之Ribbon
Ribbon介绍Ribbon是Netfix发布的负载均衡器。为Ribbon配置服务提供者地址后,基于负载均衡算法(内置轮询,随机等),自动帮消费者去请求。集成Ribbon注意本文使用的版本:<spring-cloud.version>Hoxton.SR10</spring-cloud.version><spring-boot-version>2.2.7.RELEASE</spring-boot-version>前提是注册中心用的Eureka。原创 2022-01-21 23:30:58 · 389 阅读 · 0 评论 -
Spring Cloud注册中心之Eureka
Eureka介绍Spring Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架。它和 zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring Cloud 还集成了Zookeeper和Consul。Eureka由多个instance(服务实例)组成,这些服务实例可以分为两种:Eureka Server和Eureka Client。为了便于理解,我们将Eureka clien原创 2022-01-20 00:18:36 · 1578 阅读 · 0 评论 -
Spring Cloud的注册中心
分布式系统CAP理论Consistency 一致性:所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)Availability 可用性:在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)Partition Tolerance 容错性:以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。Spring Cloud的4大注册中心组件原创 2022-01-20 00:10:56 · 2056 阅读 · 0 评论 -
Spring Cloud的5大核心组件
Spring Cloud 架构图Spring Cloud的5大核心组件注册中心 - Eureka , Consul负载均衡 - Ribbon服务调用 - Feign网关 - Zuul熔断器 - HystrixSpring Cloud Alibaba的核心组件注册中心 - Nacos负责均衡 - Ribbon服务调用 - Feign网关 - Gateway熔断器 - Sentinel其他组件服务配置 - Config , Nacos服务跟踪 - Sleuth,ZipK原创 2022-01-20 00:09:31 · 207 阅读 · 0 评论 -
Spring Cloud初识
微服务的出现单体应用架构从架构发展来看,单体应用架构存在很多问题:复杂性高(项目包含多个模块,模块便捷不清,修改一个bug可能都会带来隐含的问题。)技术债务(不坏不修)部署评率低(全量部署耗时,出错概率高)可靠性差(某个应用bug,例如死循环,OOM等,会导致整个应用崩溃)扩展能力受限(无法按业务模块进行伸缩)阻碍技术创新(例如一个使用Struts2的应用,已经写了100W行代码,想要切换成springmvc成本巨大。)那么如何解决单体应用架构的问题呢?什么是微服务架构微服务架构是原创 2022-01-20 00:07:39 · 495 阅读 · 0 评论