微服务
文章平均质量分 96
超越不平凡
这个作者很懒,什么都没留下…
展开
-
分布式事务
分布式事务是指在分布式系统中,涉及多个节点(如数据库、服务)的一个操作序列,这些操作作为一个整体需要满足事务的ACID特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。在分布式系统中实现事务的管理比单一系统更为复杂,主要因为网络通信的不可靠性、节点间的异步操作及潜在的硬件故障等因素。事务分类:本地事务、传统分布式事务、Seata 分布式事务。原创 2024-05-07 09:00:00 · 890 阅读 · 0 评论 -
高并发架构设计模板
高并发(High Concurrency)是指特定时间段内系统能够同时处理大量请求或链接的能力,并且能够迅速给出响应。比如秒杀场景、人气超高的网红或明星进行直播时,直播间一下涌入大量的观众。高并发系统的涉及目标是确保用户访问量激增的情况下,系统仍能保持稳定运行,避免服务延迟或中断。响应时间:系统对单一请求做出反应的所需的时间。吞吐量:系统在单位时间内能够处理的请求数。没秒查询书:指QPS,衡量系统每秒种处理查询请求的数量。并发用户数:系统能够同时支撑正常使用系统功能的用户数量。原创 2024-05-02 09:15:00 · 773 阅读 · 2 评论 -
深度剖析Gateway在微服务治理中的关键角色
如果内置谓词不满足要求,想要实现自定义谓词,可以通过 Gateway 的可扩展谓词工厂来实现自定义谓词,Gateway 组件提供了一个统一的抽象类 AbstractRoutePredicateFactory 作为谓词工厂,你可以通过继承这个类来添加新的谓词逻辑。// 继承自通用扩展抽象类AbstractRoutePredicateFactory// 定义当前谓词所需要用到的参数@Validated@Override// 声明当前谓词参数的传入顺序。原创 2024-04-19 12:37:03 · 826 阅读 · 0 评论 -
微服务拆分:打造高性能、高扩展的未来架构
单体应用将所有的功能都维护在一个巨无霸的服务中,然后打包成一个 war 包扔到 Tomcat中运行,对外提供服务。单体应用存在很多问题,比如开发中互相干扰、沟通成本高、无法快速迭代、无法单独回滚等。由于单体服务存在很多问题,计算机中的分治思想就产生了作用,将单体应用拆分成比较小的服务,分开维护。微服务拆分后每个服务可以单独部署、单独测试、单独发布回滚,并借助Docker和CI/CD(持续集成)完成快速上线。微服务拆分的合理性很大程度上决定了整个业务链路的可用性。原创 2024-04-17 10:29:51 · 1050 阅读 · 2 评论 -
跨越微服务边界:Spring Cloud Sleuth 如何助力实现无缝分布式追踪
Spring Cloud Sleuth 是一款基于 Spring Cloud 架构的微服务追踪工具,旨在解决微服务架构中分布式追踪的问题。在微服务架构中,由于服务之间高度解耦且相互调用频繁,单一请求可能涉及多个服务间的协作,当需要对某个请求的完整处理流程进行监控、性能分析或故障排查时,就需要能够追溯请求在各个服务中的流转路径和耗时。今天就来介绍一下微服务的链路追踪问题。原创 2024-03-10 09:30:00 · 923 阅读 · 0 评论 -
微服务韧性工程:利用Sentinel实施有效服务容错与限流降级
服务容错是微服务设计中一项重要原则和技术手段,主要目标是在服务出现故障、网络波动或其他不可预见的异常情况下,保证系统的稳定性和可靠性,防止局部故障引起雪崩效应,影响整个系统的正常运行。下面首先看下,如果没有服务容错时,什么是服务雪崩。原创 2024-03-09 09:45:43 · 1035 阅读 · 0 评论 -
决胜微服务架构:OpenFeign轻量级REST客户端的魅力解析
OpenFeign 是一个 Java 语言编写的声明式服务客户端工具,它的前身是 Netflix Feign,Feign 内置了 Ribbon 进行客户端负载均衡。后来随着 Feign 项目进入了维护模式,不在积极更新,Spring Cloud 团队采纳了 Feign 的思想和基本架构,将其发展为 Spring Cloud OpenFeign。OpenFeign 旨在简化服务间的 HTTP 调用,让用户能够通过定义接口的方式来调用远程服务,而无需关注底层的 HTTP 请求细节和连接管理。原创 2024-03-08 09:00:00 · 1123 阅读 · 0 评论 -
一文看懂Nacos如何实现高效、动态的配置中心管理
平时的开发中,你的配置信息是放到哪里的呢?在 Spring Boot 应用中,我们习惯于使用传统的配置管理方式,将各种配置项都维护在 application.yml 或 application.properties 文件中。从完成业务逻辑的角度来看,这样做是没问题的。但在微服务架构中,我们可以采取一种更“优雅”的方式组织配置文件,实现高效灵活的配置管理。我们通常可以采用4种方式来指定配置,分别是硬编码、配置文件、环境 / 启动变量、数据库动态获取,我们来了解下这四种配置管理方式是如何实现的。原创 2024-03-07 09:00:00 · 1559 阅读 · 0 评论 -
Spring Cloud + Nacos 引领服务治理新航向
上篇文章()介绍了微服务的学习路线,以及 Spring Cloud 的组件,再来看下 Spring Cloud 的组件构成,如下图:本文将着重介绍 Spring Cloud Alibaba 的服务治理组件 Nacos,及其工作原理,最后在对 Nacos 与 Consul进行下对比,因为Spring Cloud 后续会逐渐去 Neflix,所以这里就不介绍 Eureka了。原创 2024-03-06 08:45:00 · 815 阅读 · 0 评论 -
Spring Cloud全方位解读——构建微服务架构的利器
微服务的体系非常庞大,框架组件多,微服务的部分学习路径如下图,主要包括三大功能和两大特性。三大功能指微服务核心组件的功能维度,由浅入深层次递进;两大特性是构建在每个服务组件之上的高可用和高可扩展性。从功能维度讲,服务间的通信是最基础的功能特性,当构建其服务通信能力之后,接下来就要考虑服务容错能力,提高服务调用的稳定性。在这之后,就可以从全局的角度构建一些分布式特性。除了功能特性,还会从高可用性和高可扩展性两个维度来做扩展。避免单点故障:在做系统架构时,不能信任任何服务,服务器都有可能挂掉。原创 2024-03-05 09:00:00 · 944 阅读 · 0 评论