
SpringCloud
文章平均质量分 95
SpringCloud专栏,推荐微服务专栏
卡布奇诺-海晨
《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。有研究MyBatis的经验,设计模式,基本算法,也有相关的博文输出。未来时间允许情况下,推出更多的关于框架源码的知识以及结合工作经验的沉淀。程序员这条路一开始走对了后面就轻松些,作为过来人,有经验感受在博文透露。程序员这条路最好有个引路人,每个人都可以努力,但是方向不对努力白费。某音有视频教程(某马/某千等都是上万价格)
展开
-
使用redis布隆过滤器的场景
布隆过滤器的核心优势是空间效率高,但需要注意其概率性误判的特点。对于需要高精度的场景,可以结合其他数据结构(如 Redis Set)使用。原创 2025-03-05 09:38:44 · 760 阅读 · 0 评论 -
使用redis缓存如何保证一致性
使用监控工具(如 Prometheus、Grafana)监控缓存的命中率、响应时间、一致性等指标。设置告警机制,当缓存与数据库不一致时,及时通知开发人员处理。原创 2025-03-05 09:31:33 · 593 阅读 · 0 评论 -
如何使用缓存提高系统性能
合理使用缓存可以有效提升系统性能,但需注意缓存一致性、过期策略及异常情况的处理。通过监控和优化,确保缓存系统高效稳定运行。原创 2025-03-05 09:25:09 · 717 阅读 · 0 评论 -
及时发现和处理死信消息,如何报警与监控
及时发现和处理死信消息是确保系统可靠性的重要环节。通过报警与监控,可以快速发现死信队列中的异常情况并采取相应措施。以下是实现报警与监控的常见方法和工具:原创 2025-03-02 22:23:49 · 621 阅读 · 0 评论 -
如何处理死信队列里面的消息
通过合理的死信队列处理机制,可以确保系统的可靠性和数据一致性,同时减少人工干预的成本。原创 2025-03-02 22:20:54 · 838 阅读 · 0 评论 -
java中如何将rabbitmq消息移到死信队列
这种方式可以有效地处理消费失败的消息,确保系统的可靠性和可维护性。原创 2025-03-02 22:18:37 · 631 阅读 · 0 评论 -
消息中间件如何集群部署
通过合理的集群部署和运维,可以确保消息中间件的高可用性、高性能和可扩展性。原创 2025-03-02 22:15:33 · 670 阅读 · 0 评论 -
如何确保消息不重复消费
消息重复消费是分布式系统中常见的问题,通常由网络重试、消费者重启或消息中间件的机制引起。以下是确保消息不重复消费的常见方法:原创 2025-03-02 21:29:51 · 802 阅读 · 0 评论 -
如何确保消息不丢失
确保消息不丢失是消息中间件使用中的核心问题之一。消息丢失可能发生在生产者、消息中间件和消费者三个环节。以下是确保消息不丢失的常见方法:原创 2025-03-02 21:28:24 · 1024 阅读 · 0 评论 -
如何解决消息积压问题
消息积压是消息中间件使用中的常见问题,通常由消费速度跟不上生产速度引起。以下是解决消息积压问题的常见方法:原创 2025-03-02 21:26:50 · 739 阅读 · 0 评论 -
哪些场景选择使用消息中间件
根据具体需求选择合适的消息中间件(如 Kafka、RocketMQ、RabbitMQ 等),可以显著提升系统的可靠性、扩展性和性能。原创 2025-03-02 21:24:43 · 870 阅读 · 0 评论 -
rocketmq和rabbitmq对比,如何选型
根据具体需求和场景选择合适的消息队列系统。原创 2025-03-02 21:23:00 · 934 阅读 · 0 评论 -
如何设计秒杀系统
通过以上设计,可以构建一个高并发、高可用的秒杀系统,满足业务需求。原创 2025-02-19 22:20:19 · 559 阅读 · 0 评论 -
极力推荐SpringCloudAlibaba企业级实战
2023年,以以往的经验,自研了uniapp微信小程序,基于Vue3+TypeScript+Uniapp,发布上线到了微信端。2024年初,以同一套代码,部署到了客户量在国内数一数二的抖音,实现了多端部署。当然,这套框架也给软件商业带来了一定的价值。在B站可以看看企业级解决方案原创 2024-04-29 16:30:24 · 934 阅读 · 2 评论 -
Linux shell 脚本基础与部署SpringCloud实战
需要注意的是,虽然Shell脚本具有很多优点,但也需要谨慎使用。在编写脚本时,要确保代码的安全性和稳定性,避免潜在的安全漏洞和错误。同时,对于复杂的部署需求,可能需要结合其他工具和技术来实现更高效的自动化部署。原创 2024-04-18 23:01:18 · 1005 阅读 · 0 评论 -
SpringCloud集成SkyWalking链路追踪并收集日志2
在微服务架构中,一次客户端请求在对应的接口中可能需要通过多次跨服务调用完成,以skywalking安装教程中的项目演示为例,一次成功结束的请求可能需要经过商品微服务、订单微服务以及支付微服务三个服务共同处理,其中商品服务调用订单服务,订单服务调用支付服务。这就是微服务架构的调用链。skywalking通过一个请求上下文将一次客户端请求中涉及到的服务调用进行追踪,列出该调用链中涉及的微服务名、微服务中的接口名,这样我们就容易找到对应的接口,查看相应的代码去排查遇到的bug问题等。原创 2024-04-12 10:42:11 · 1408 阅读 · 0 评论 -
一文总结 MetaQ/RocketMQ 原理
相比较于 RocketMQ/MetaQ,Kafka 具有更高的吞吐量。Kafka 默认采用异步发送的机制,并且还拥有消息收集和批量发送的机制,这样的设置可以显著提高其吞吐量。由于 Kafka 的高吞吐量,因此通常被用于日志采集、大数据等领域。RocketMQ/MetaQ 不采用异步的方式发送消息。因为当采用异步的方式发送消息时,Producer 发送的消息到达 Broker 就会返回成功。此时如果 Producer 宕机,而消息在 Broker 刷盘失败时,就会导致消息丢失,从而降低系统的可靠性。。原创 2023-10-26 09:30:26 · 658 阅读 · 0 评论 -
业务系统架构实践总结
我理解当时团队是随着预算发展对业务了解的深入,做了架构演进式的领域划分,从对业务的认知经验和感觉出发,划成了动名结合体。分配、消耗、熔断是动词,账户、预算是名词,按这些亦动亦名的关键概念划了单个的域,并基于此单拎为系统,db也是独立的。这是第一点,领域划分方法论的问题。原创 2023-10-22 16:39:23 · 1185 阅读 · 0 评论 -
RPC框架
RPC(Remote Procedure Call)是一种用于在不同计算机上的程序之间进行远程通信的协议和技术。RPC框架是一组工具和库,用于简化和管理远程通信的复杂性。通过RPC框架,你可以像调用本地函数一样调用远程计算机上的函数或方法,使分布式系统的开发变得更加容易。原创 2023-09-04 10:37:40 · 293 阅读 · 0 评论 -
如何避免重复消费消息
消息中间件通常采用一些策略来避免消息的重复消费。这在分布式系统中非常重要,以确保消息被处理一次且仅一次,避免产生错误或重复的结果。以下是一些常见的方法:原创 2023-08-31 11:39:15 · 779 阅读 · 0 评论 -
OpenSergo & Spring Cloud Alibaba 带来的服务治理能力
随着微服务技术的发展,微服务(MicroServices) 的概念早已深入人心,越来越多的公司开始使用微服务架构来开发业务应用。如果采用得当,微服务架构可以带来非常大的优势。微服务架构的最大好处是它可以提升开发效率和系统整体的稳定性:原创 2023-08-12 09:37:34 · 858 阅读 · 0 评论 -
Nacos 无缝支持 confd 配置管理
本文介绍了使用 Nacos 结合 confd 来做自动化管理,confd 作为轻量级的配置管理工具可以做到对第三方系统无代码侵入性。本文只是简单使用 nginx 的黑名单功能来演示 Nacos+confd 的使用方式,当然 nginx 还具有限流、反向代理等功能以及其他的系统比如 haproxy、tomcat、docker 等也同样可以使用 Nacos+confd 做管理。原创 2023-07-04 15:26:04 · 509 阅读 · 0 评论 -
跨注册中心服务同步实践
同步任务添加之后,需要确保下服务是否成功同步到目标集群,可以通过目标集群的控制台进行查询;NacosSync 支持高可用集群模式部署,你只需要把数据库配置成同一个即可;如果梳理不清楚订阅和发布的服务,建议可以把服务都做双向同步;Dubbo 客户端目前不支持Nacos的权重功能,如果你用到了权重功能,需要重新考虑一下方案是否合适。原创 2023-06-28 09:35:39 · 625 阅读 · 0 评论 -
Nacos 打通 CMDB 实现就近访问
CMDB 在企业中,一般用于存放与机器设备、应用、服务等相关的元数据。一般当企业的机器及应用达到一定规模后就需要这样一个系统来存储和管理它们的元数据。有一些广泛使用的属性例如机器的IP、主机名、机房、应用、region 等,这些数据一般会在机器部署时录入到 CMDB,运维或者监控平台会使用这些数据进行展示或者相关的运维操作。原创 2023-06-24 11:47:41 · 1749 阅读 · 1 评论 -
Eureka 平滑迁移 Nacos 方案
建议是从最下层 Provider 开始迁移。但如果调用链路太复杂,比较难分析,所以设计的方案中是支持随便找一个非流量入口应用进行迁移。因为流量入口的应用比较特殊,所以建议迁移流量入口应用时需要根据自己应用的实际情况考虑迁移方案。原创 2023-06-20 10:41:13 · 2199 阅读 · 1 评论 -
叽里呱啦 Nacos 1.1.4 升级 1.4.1 最佳实践
1. 升级生产环境时是从 rc 环境上把运行中的 Nacos server 直接复制到生产环境用于升级,而复制过去的目录包含了 rc 环境的缓存数据,会影响 Nacos server 的正常工作。2. 生产环境各个业务服务使用的 Nacos 客户端版本没有统一管控,有的版本比服务端高。而高版本的客户端在 server 端升级上去后,被开启了一些高版本的功能。回滚回低版本的 server 端时,这些高版本的功能低版本的 server 端无法兼容,导致回滚后无法自动注册,需要重启业务服务才能注册。原创 2023-06-12 09:26:41 · 1930 阅读 · 1 评论 -
虎牙在全球 DNS 秒级生效上的实践
增强了高可用的保障能力。包括进程监控、内部运营和外部运营的探测。另外,原来的开源版本用的是本机部署的方式,做成了集群化的部署,解决了服务推送、服务负载均衡方面的问题。原创 2023-05-30 08:43:35 · 572 阅读 · 0 评论 -
虎牙直播在微服务改造的实践总结2
传统的配置下发方式是服务端下发文件,更新配置的生效时间较长。由于需要提前知道负责均衡集群的机器信息,扩展和缩小容量需要等元信息同步以后才能接入流量,使得扩容流量的接入时间较长。为解决这一问题,虎牙引入 Nacos作为配置中心监听器,然后采用了客户端主动监听配置更新的方式。原创 2023-05-23 20:00:32 · 2303 阅读 · 5 评论 -
虎牙直播在微服务改造的实践总结
在虎牙的微服务场景中,原先存在多个注册中心,每个注册中心服务于不同的微服务部分,导致缺少一个能够整合这些注册中心,并将它们逐一打通的大型注册中心来管理整个微服务生态系统。因此,考虑使用Nacos作为服务注册中心,以下是考虑使用Nacos的原因:原创 2023-05-19 15:34:13 · 2049 阅读 · 0 评论 -
Nacos 服务网格2
钉钉云上和集团互通的场景,本质其实就是混合云场景下的应用互通,我们是用了网关去打通这两个环境,钉钉 VPC(阿里云部署)这边用的是 MSE 云原生网关,集团用的是 Envoy 网关,他们之间使用 Dubbo3.0 的Triple 协议实现网络通讯,网关的控制面都使用的是 Istio,Istio 会通过 MCP 协议从 Nacos 同步服务列表数据。原创 2023-05-13 13:26:15 · 479 阅读 · 0 评论 -
Nacos 服务网格⽣态
Kubernetes 在应用打包、部署、调度和弹性领域是绝对的王者,吸引了无数互联网公司开启了应用容器化改造之旅。在这迁移过程中,人们渐渐发现虽然服务运行时的底层依赖可以切换到 Kubernetes 平台,但整个业务系统依赖的配置中心、注册中心、网关、消息队列、认证鉴权、可观测等服务治理组件并不能被 Kubernetes 生态完全替代。原创 2023-05-03 20:24:11 · 1966 阅读 · 5 评论 -
Nacos Docker & Kubernetes ⽣态
Nacos-k8s 项目包含了三种类型的部署方式, 原生部署、Helm 部署、以及利用 Operator 开发的Nacos-Operator 部署, 本文演示如何通过 Operator 方式把 Nacos 集群在 Kubernetes 部署起来。原创 2023-04-20 09:34:09 · 1579 阅读 · 1 评论 -
Nacos Spring ⽣态
从最后⼀张图中,可以看到在 receiveConfigInfo 的回调逻辑中,当有配置变更的时候,会重新生成 NacosPropertySource,并且替换掉 environment 中过时的 NacosPropertySource,完成这个步骤之后,就可以通过 environment.getProperty() 动态的获取到配置值了。但问题是,@Value 方式注入的 Bean 对象的配置项是无法动态刷新的,因为 Bean 已经生成无法再更改;为了实现动态的刷新,Nacos 又引入了 @NacosVal原创 2023-04-14 19:00:36 · 2045 阅读 · 0 评论 -
Nacos 性能报告
Nacos2.0 对连接模型、服务发现的数据模型及运作模式进行了大范围的重构,因此需要在相同或类 似的场景下,了解 Nacos2.0 的服务发现性能负载和容量与 Nacos1.X 的区别,帮助用户更快的运 用评估 Nacos 系统负荷。原创 2023-04-10 14:20:38 · 2115 阅读 · 0 评论 -
【微服务】Nacos 前端设计
我们需要提供⼀个简单控制台提升易用性,并且可以得到开发者的共建。前端框架上选择目前比较流行的 react 技术,组件上选择 fusion/antd。原创 2023-01-17 18:41:20 · 2045 阅读 · 6 评论 -
【微服务】Nacos 认证机制
随着 Nacos 在生产使用,用户要求权限管理机制。考虑到做完整的账号权限管理机制,需要比较大的代价。因此先做⼀个管理员账号的登录管理,从而降低安全风险。原创 2023-01-11 12:09:56 · 2541 阅读 · 4 评论 -
【微服务】Nacos 账号权限体系
为了 Nacos 提升安全能力,更好满足生产要求,需要设计账号权限体系,又要能兼容云上和阿里内部场景。避免后续代码无法融合。 这块的挑战是要做好抽象,不然没法和不同账号权限体系打通。默认我们提供⼀个简单的实现,当有类似于 RAM 这样的权限体系后,直接对接即可。原创 2023-01-09 11:22:30 · 4680 阅读 · 12 评论 -
【微服务】Nacos 配置管理模块
Nacos 配置管理⼀致性协议分为两个大部分,第⼀部分是 Server 间⼀致性协议,⼀个是 SDK 与Server 的⼀致性协议,配置作为分布式系统中非强⼀致数据,在出现脑裂的时候可用性高于⼀致性,因此阿里配置中心是采用 AP ⼀致性协议。原创 2023-01-04 12:13:09 · 3308 阅读 · 15 评论 -
【微服务】Nacos 健康检查机制
在上文中,我们介绍了 Nacos 注册中心中的服务数据模型,说明了服务、实例以及集群的内容,关系及它们的生命周期。期间健康检查是⼀个被反复提及的词语,这是由于注册中心不应该仅仅提供服务注册和发现功能,还应该保证对服务可用性进行监测,对不健康的服务和过期的进行标识或剔除,维护实例的生命周期,以保证客户端尽可能的查询到可用的服务列表。因此本文将详细介绍Nacos 注册中心中的健康检查机制。原创 2023-01-02 09:56:17 · 7732 阅读 · 25 评论 -
【微服务】Nacos 注册中心服务数据模型
本节将较为详尽的展开介绍 Nacos 注册中心中的服务数据模型内容。主要会为读者详细介绍Nacos2.0 版本中注册中心所涉及到的数据模型、各个数据模型的含义及各个数据模型的生命周期,并介绍 Nacos2.0 版本和 Nacos1.0 版本中,服务数据模型的差异点。原创 2022-12-30 12:15:34 · 3943 阅读 · 19 评论