
玩转SpringCloud
文章平均质量分 94
源码小哥
这个作者很懒,什么都没留下…
展开
-
Spring Cloud Gateway 服务网关详解
Spring Cloud Gateway是Spring公司基于Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。它的目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控和限流。原创 2023-03-07 00:22:11 · 186 阅读 · 0 评论 -
分布式请求链路跟踪-SpringCloud Sleuth
Spring Cloud Sleuth提供了一套完整的服务跟踪的解决方案,在分布式系统中提供追踪解决方案并且兼容支持了zipkin,本文讲解如何使用原创 2023-02-03 13:15:41 · 473 阅读 · 0 评论 -
LCN分布式事务框架
1.LCN是什么LCN是国产开源的分布式事务处理框架。LCN即:lock(锁定事务单元)、confirm(确认事务模块状态)、notify(通知事务)。官网:http://www.txlcn.org/zh-cn/2.首先介绍3.0与4.0之前的差异2.1.地址2.2.添加升级如下功能(1)3.0虽然有事务补偿机制,但4.0在此基础上不仅添加事务补偿机制的策性,还添加了管理的后台可...原创 2020-04-23 12:34:00 · 2492 阅读 · 0 评论 -
软件架构浅析-BASE理论
Base是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写。BASE理论是对CAP中AP的一个扩展,通过牺牲强一致性来获得可用性,当出现故障允许部分不可用但要保证核心功能可用,允许数据在一段时间内是不一致的,但最终达到一致状态。满足BASE理论的事务,我们称之为“柔性事务”。①基本可用基本...原创 2020-04-21 23:18:27 · 448 阅读 · 0 评论 -
玩转SpringCloud专题(六)-Eureka自我保护机制
1.什么是Eureka保护机制官方解释: 自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。默认情况下,Eureka Client会定时的向 Eureka Server端发送心跳包,默认是30s发送一次,目的是告诉 Eureka Server当前客户端实例还处于存活状态,如果Eureka server在一定时间内没有收到实例的心跳...原创 2020-03-17 08:49:12 · 421 阅读 · 0 评论 -
玩转SpringCloud专题(二十四)-Spring Cloud Config分布式配置中心高可用及刷新配置
1.前言上一篇文章已经实现了Spring Cloud Config分布式配置中心的功能,我们已经可以通过Config Server获取Git远程仓库配置文件中的内容,但是在实际项目中,当服务实例数量比较多的情况下,每个服务单元都从配置中心获取配置信息,假如配置中心由于网络等原因挂掉了,这时候会导致那些服务实例请求失败等一系列问题。这时候可以考虑将配置中心做成一个微服务,注册到Eureka中,这样...原创 2020-03-12 23:43:42 · 377 阅读 · 0 评论 -
玩转SpringCloud专题(二十三)-Spring Cloud Config分布式配置中心
1.简介在微服务中,每个功能模块其实都可以拆分成一个单独的服务实例,如果项目够大,必然会有很多服务单元,每个服务单元都有一份配置文件需要维护,这显得不太好维护,而且不方便协作开发。为了使服务实例的配置文件统一管理化,Spring Cloud Config提供了一套解决方案,建立一个配置服务中心,每个服务单元从config server中获取具体的配置文件,它支持配置服务放在配置服务的内存中(即本...原创 2020-03-12 21:31:07 · 322 阅读 · 0 评论 -
软件架构浅析-CAP理论
1.前言分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。2.分布式系统的三个指标1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。ConsistencyAvailabilityPartiti...原创 2020-03-12 14:39:10 · 456 阅读 · 1 评论 -
玩转SpringCloud专题(二十二)-SpringCloud之服务网关过滤器
我们了解了 Spring Cloud Zuul 作为网关所具备的最基本功能:路由(Router),下面我们将关注 Spring Cloud Zuul 的另一核心功能:过滤器(Filter)zuul的核心是一系列的filters, 其作用可以类比Servlet框架的Filter,或者AOP,本文我们就来具体介绍下自定义的zuul过滤器1.Filter的使用场景场景非常多:请求鉴权:一般放...原创 2020-03-12 13:13:31 · 361 阅读 · 0 评论 -
玩转SpringCloud专题(二十一)-SpringCloud之服务网关zuul入门
1.概述通过前面的学习,使用Spring Cloud实现微服务的架构基本成型,大致是这样的:前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,似乎一个微服务框架已经完成了。服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它...原创 2020-03-12 11:59:37 · 303 阅读 · 0 评论 -
玩转SpringCloud专题(二十)-SpringCloud之Hystrix多个服务和集群监控Turbine
1.引言我们在之前讲过,在单个的Hystrix的应用中,我们使用/hystrix.stream可以查看监控数据,如果想以图表的形式更直观的查看监控数据,再结合dashboard就可以了。但是,如何同时监控多个应用或集群呢?我们需要使用springcloud提供的Turbine,它是将各个应用的/hystrix.stream进行聚合的组件。我们在dashboard中输入/turbine.str...原创 2020-03-12 10:08:03 · 443 阅读 · 0 评论 -
玩转SpringCloud专题(十九)-SpringCloud之Hystrix可视化数据监控Dashboard
1.概述除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。Hystrix-dashboard 是一款针对 Hystrix 进行准实时监控的工具,通过 Hystrix Dashboard 我们可...原创 2020-03-11 22:59:14 · 370 阅读 · 0 评论 -
玩转SpringCloud专题(十八)-SpringCloud之Hystrix隔离
本文我们来演示下Hystrix中解决雪崩效应的第五种方式隔离的实现在应对服务雪崩效应时,除了前面介绍的降级,缓存,请求合并及熔断外还有一种方式就是隔离,隔离又分为线程池隔离和信号量隔离。接下来我们分别来介绍。1.线程池隔离1.1.概念介绍我们通过以下几个图片来解释线程池隔离到底是怎么回事在没有使用线程池隔离时当接口A压力增大,接口C同时也会受到影响使用线程池的场景当服务接口A...原创 2020-03-11 21:37:19 · 374 阅读 · 0 评论 -
玩转SpringCloud专题(十七)-SpringCloud之Hystrix请求合并
本文我们来演示下Hystrix中解决雪崩效应的第三种方式请求合并的实现1.请求合并的场景没有合并的场景中,对于provider的调用会非常的频繁,容易造成处理不过来的情况合并请求的场景2.什么情况下使用请求合并在微服务架构中,我们将一个项目拆分成很多个独立的模块,这些独立的模块通过远程调用来互相配合工作,但是,在高并发情况下,通信次数的增加会导致总的通信时间增加,同时,线程池的资源也...原创 2020-03-11 20:58:23 · 385 阅读 · 0 评论 -
玩转SpringCloud专题(十六)-SpringCloud之Hystrix缓存
1.引言Hystrix 为了降低访问服务的频率,支持将一个请求与返回结果做缓存处理。如果再次请求的 URL 没有变化,那么 Hystrix 不会请求服务,而是直接从缓存中将结果返回。这样可以大大降低访问服务的压力。Hystrix 自带缓存。有两个缺点:1.是一个本地缓存。在集群情况下缓存是不能同步的。2.不支持第三方缓存容器。Redis,memcache 不支持的。所以我们使用spri...原创 2020-03-11 17:52:13 · 316 阅读 · 0 评论 -
玩转SpringCloud专题(十五)-SpringCloud之Hystrix服务熔断
1.服务熔断概述熔断其实是在降级的基础上引入了重试的机制。当某个时间内失败的次数达到了多少次就会触发熔断机制。熔断机制是应对雪崩效应的一种微服务链路保护机制。断路器很好理解,当Hystrix Command请求后端服务失败数量超过一定比例(默认50%),断路器会切换到开路状态(Open)。这时所有请求会直接失败而不会发送到后端服务。 断路器保持在开路状态一段时间后(默认10秒),自动切换到半开...原创 2020-03-11 14:22:01 · 522 阅读 · 0 评论 -
玩转SpringCloud专题(十四)-SpringCloud之Hystrix服务降级
本文我们来演示下Hystrix中解决雪崩效应的第一种方式降级的实现1.场景介绍先来看下正常服务调用的情况当consumer调用provider服务出现问题的情况下:此时我们对consumer的服务调用做降级处理2.服务降级概述整体资源快不够了,忍痛将某些服务先关掉,待渡过难关,再开启回来。服务降级处理是在客户端实现完成的,与服务端没有关系。Fallback相当于是降级操作。对于...原创 2020-03-11 12:01:54 · 288 阅读 · 0 评论 -
玩转SpringCloud专题(十三)-SpringCloud之Hystrix入门
1.Hystrix断路器1.1.分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,所...原创 2020-03-11 11:18:17 · 268 阅读 · 0 评论 -
玩转SpringCloud专题(十二)-SpringCloud之Feign压缩Gzip
在数据传输过程中压缩数据肯定是必须的,而gzip是我们比较常用的方式,而且我们在刚刚接触http协议的时候就介绍过gzip。本文我们来看下在微服务环境下我们怎么通过gzip来压缩数据。1.gzip 介绍gzip是一种数据格式,采用用 deflate 算法压缩 data;gzip 是一种流行的文件压缩算法,应用十分广泛,尤其是在 Linux 平台。gzip 能力:当 Gzip 压缩到一个纯文...原创 2020-03-11 10:47:07 · 1254 阅读 · 0 评论 -
玩转SpringCloud专题(十一)-SpringCloud之Feign请求参数处理
在上篇文章的基础上我们来介绍下Feign的请求参数的问题1.单个参数首先来看下单个参数的情况1.1.service服务在service服务中我们增加一个接收单个参数的方法/** * @BelongsProject: springcloud0310 * @BelongsPackage: com.bruceliu.api * @Author: bruceliu * @QQ:12414...原创 2020-03-11 10:17:06 · 736 阅读 · 0 评论 -
玩转SpringCloud专题(十)-SpringCloud之Feign负载均衡入门
1.Feign负载均衡简介1.1 Feign是什么Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessage...原创 2020-03-10 23:55:18 · 268 阅读 · 0 评论 -
玩转SpringCloud专题(九)-SpringCloud之Ribbon负载均衡
1.Ribbon负载均衡简介1.1Ribbon概述1.1.1.Ribbon是什么SpringCloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就...原创 2020-03-10 23:42:39 · 479 阅读 · 0 评论 -
玩转SpringCloud专题(八)-SpringCloud注册中心Eureka安全认证
1.项目结构在SpringCloud服务中为了提高注册中心的安全性我们可以整合springsecurity来实现完全认证。Eureka服务中心做的高可用的配置provide提供服务,需要到注册中心注册(需要认证)consumer服务消费者,需要从注册中心中发现服务,同样需要认证2.服务注册中心配置2.1.添加Spring Security依赖因为是在SpringBoot项目中,所...原创 2020-03-10 21:32:48 · 346 阅读 · 0 评论 -
玩转SpringCloud专题(七)-SpringCloud注册中心Eureka优雅停服
由于eureka的自我保护机制,直接对服务进行停止会使得eureka serve进入自我保护模式。服务并不会从列表中删除。1.不需要再 Eureka Server 中配置关闭自我保护首先将服务开启自我保护然后让对应的服务具有优雅停服的功能,比如provider服务2.需要再服务中添加 actuator.jar 包需要添加actuator的jar包,只需要将pom文件改成<depe...原创 2020-03-10 19:04:37 · 360 阅读 · 0 评论 -
玩转SpringCloud专题(六)-SpringCloud注册中心Eureka详解
1.服务提供者服务提供者要向EurekaServer注册服务,并且完成服务续约等工作。服务注册服务提供者在启动时,会检测配置属性中的:eureka.client.register-with-erueka=true参数是否正确,事实上默认就是true。如果值确实为true,则会向EurekaServer发起一个Rest请求,并携带自己的元数据信息,Eureka Server会把这些信息保...原创 2020-03-10 17:32:49 · 318 阅读 · 0 评论 -
玩转SpringCloud专题(五)-SpringCloud注册中心Eureka高可用搭建(HA)
1.Eureka基础架构Eureka架构中的三个核心角色:服务注册中心Eureka的服务端应用,提供服务注册和发现功能,就是刚刚我们建立的eureka-server-7001服务提供者提供服务的应用,可以是SpringBoot应用,也可以是其它任意技术实现,只要对外提供的是Rest风格服务即可。本例中就是我们实现的springcloud-demo服务消费者消费应用从注册...原创 2020-03-10 15:19:28 · 318 阅读 · 0 评论 -
玩转SpringCloud专题(四)-SpringCloud注册中心Eureka入门
1.Eureka注册中心1.1.Eureka简介首先我们来解决第一问题,服务的管理。问题分析在刚才的案例中,user-service对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益复杂的互联网环境,一个项目肯定会拆分出十几,甚至数十个微服务。此时如果还人为管理地...原创 2020-03-10 12:57:29 · 216 阅读 · 0 评论 -
玩转SpringCloud专题(三)-SpringCloud基础入门程序
1.微服务场景模拟首先,我们需要模拟一个服务调用的场景。方便后面学习微服务架构!1.1.服务提供者我们新建一个项目,对外提供查询用户的服务。1.1.1.创建服务者工程完整的Pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...原创 2020-03-10 12:39:58 · 273 阅读 · 0 评论 -
玩转SpringCloud专题(二)-SpringCloud初识
1.微服务概述1.1什么是微服务微服务架构(MicroServicesArchitecture)是近几年来软件架构领域出现的高频词汇,它是基于传统的SOA架构演进而来的一种架构模。其提倡将传统的单体架构或分布式架构中的单体应用程序和服务划分成更小粒度的服务,这种服务我们称之为微服(Microservices)。这种服务独立运行在独立的进程中并与其它的进程相隔离,服务于服务之间通常采用基于Ht...原创 2020-03-10 10:17:11 · 379 阅读 · 0 评论 -
玩转SpringCloud专题(一)-互联网架构演进
1.引言随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系统架构演...原创 2020-03-10 09:49:25 · 595 阅读 · 0 评论