微服务专栏
文章平均质量分 92
《微服务专栏》是一个专门介绍微服务架构的系列文章和教程。该专栏以实战为线索,逐步深入Spring Cloud 开发各个环节,并掌握微服务架构常用性能体验优化思路。同时,通过实战和持续学习,可以不断提升自己的工程化编码能力和思维能力,打造更加健壮和高效的微服务系统。
阿Q说代码
阿Q:CSDN博客专家、Java后端领域优质创作者、InfoQ签约作者、掘金优质创作者,现任一家世界五百强企业技术 Leader。
作为深软件开发工程师的阿Q,专注于后端技术栈分享,包括但不局限于:JVM、数据库、中间件、微服务、Spring全家桶。
展开
-
【Spring Cloud】Sleuth +Zinkin 实现链路追踪并持久化的解决方案
分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。原创 2024-07-30 10:22:46 · 2464 阅读 · 29 评论 -
【Spring Cloud】Gateway 服务网关限流
网关是所有请求的公共入口,所以可以在网关进行限流,而且限流的方式也很多,我们本次采用前面学过的 Sentinel 组件来实现网关的限流。原创 2024-06-20 09:07:35 · 6222 阅读 · 74 评论 -
【Spring Cloud】Gateway 服务网关核心架构过滤器(Filter)【附源码】
今天我们要讲的是Gateway的过滤器,以下简称Filter。作用:过滤器就是在请求的传递过程中,对请求和响应做一些手脚;生命周期:Pre、Post;作用范围:局部过滤器(作用在某一个路由上)、全局过滤器(作用全部路由上);原创 2024-06-12 20:53:12 · 4712 阅读 · 32 评论 -
【Spring Cloud】Gateway 服务网关核心架构的执行流程和断言
路由(Route)是gateway中最基本的组件之一,表示一个具体的路由信息载体。Predicate(断言,谓词)用于进行条件判断,只有断言都返回真,才会真正的执行路由。断言就是说: 在什么条件下才能进行路由转发。原创 2024-06-07 11:18:21 · 7436 阅读 · 60 评论 -
【Spring Cloud】Gateway 服务网关简介及快速入门
大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性;认证复杂,每个服务都需要独立认证;存在跨域请求,在一定场景下处理相对复杂;上面的这些问题可以借助API网关来解决。原创 2024-05-28 09:20:10 · 4907 阅读 · 31 评论 -
【Spring Cloud】Feign整合服务容错中间件Sentinel
上一篇文章中我们已经对服务容错中间件 Sentinel 持久化的两种模式进行了全面解析,本文我们将对Feign和Sentinel进行有机整合。原创 2024-05-27 13:11:23 · 4899 阅读 · 5 评论 -
【Spring Cloud】全面解析服务容错中间件 Sentinel 持久化两种模式
通过前面的讲解,我们已经知道,可以通过 Dashboard 来为每个 Sentinel 客户端设置各种各样的规则,这种属于原始模式。这种模式存在一个问题,就是这些规则默认是存放在内存中的,极不稳定,所以需要将其持久化。原创 2024-05-18 15:45:35 · 5816 阅读 · 58 评论 -
【Spring Cloud】服务容错中间件Sentinel进阶——五大规则
所谓资源就是 Sentinel 要保护的东西,资源是 Sentinel 的关键概念。它可以是Java应用程序中的任何内容,可以是一个服务,也可以是一个方法,甚至可以是一段代码。流量控制在网络传输中是一个常用的概念,它用于调整网络包的数据。任意时间到来的请求往往是随机不可控的,而系统的处理能力是有限的。我们需要根据系统的处理能力对流量进行控制。Sentinel 作为一个调配器,可以根据需要把随机的请求调整成合适的形状。原创 2024-04-22 13:13:53 · 8404 阅读 · 152 评论 -
【Spring Cloud】服务容错中间件Sentinel入门
Sentinel(分布式系统的流量防卫兵)是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。后续的文章,我们将继续完善我们的微服务系统,集成更多的Alibaba组件。原创 2024-04-09 14:40:11 · 2573 阅读 · 80 评论 -
【Spring Cloud】高并发带来的问题及常见容错方案
在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。原创 2024-02-26 14:23:26 · 3370 阅读 · 61 评论 -
【Spring Cloud】基于Feign实现微服务调用
Feign 是 Spring Cloud 提供的一个声明式的伪Http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口并添加一个注解即可。Nacos 很好的兼容了 Feign,Feign 默认集成了 Ribbon,所以在 Nacos 下使用 Fegin 默认就实现了负载均衡的效果。原创 2024-02-22 15:52:06 · 331 阅读 · 2 评论 -
【Spring Cloud】实现微服务调用的负载均衡
通俗的讲,负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。根据负载均衡发生位置的不同,一般分为服务端负载均衡和客户端负载均衡。服务端负载均衡指的是发生在服务提供者一方,比如常见的 nginx 负载均衡。客户端负载均衡指的是发生在服务请求的一方,也就是在发送请求之前已经选好了由哪个实例处理请求。我们在微服务调用关系中一般会选择客户端负载均衡,也就是在服务调用的一方来决定服务由哪个提供者执行。在启动微服务的基础上,通过idea再启动一个。原创 2024-02-22 14:13:54 · 4944 阅读 · 61 评论 -
【SpringCloud Nacos】 微服务治理介绍及Nacos引入初体验
在开始今天的学习之前,大家先来思考一个问题:通过上一章的操作,我们已经可以实现微服务之间的调用。一旦服务提供者地址变化,就需要手工修改代码;一旦是多个服务提供者,无法实现负载均衡功能;一旦服务变得越来越多,人工维护调用关系困难;那么应该怎么解决呢,这时候就需要通过注册中心动态的实现服务治理。服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。原创 2024-01-26 15:10:49 · 7907 阅读 · 164 评论 -
【SpringCloud Alibaba】 介绍及微服务模块搭建
Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过Spring Cloud编程模型轻松使用这些组件来开发分布式应用服务。依托Spring Cloud Alibaba ,只需要添加一些注解和少量配置,就可以将Spring Cloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。原创 2024-01-22 13:48:04 · 9474 阅读 · 185 评论 -
【Spring Cloud】微服务架构演变及微服务架构介绍
随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早期到现在,系统架构大体经历了下面几个过程:单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的`Service Mesh`(服务网格化)。接下来我们就来了解一下每种系统架构是什么样子的,以及各有什么优缺点。原创 2024-01-12 11:23:06 · 11121 阅读 · 205 评论