Cache 在 REST 设计中使用缓存可以缩短响应时间、节约网络带宽。 A “cache” is a local store of previous response messages and the subsystem that controls its message storage, ret...
分类:攻城湿
51 篇文章What is REST REST, stands for REpresentational State Transfer, proposed by Roy Fielding in his 2000 PhD dissertation[1], is an architectural approach ...
在Thoughtworks的第25期 技术雷达中有一个主题:便利背后的陷阱,再次强调了软件开发的一种反模式: 开发团队一般为了图方便,而在其技术生态系统的复杂环节中,引入一些不合理的行为,从而欠下长期存在的技术债务,并会引发更糟的问题。这种例子不胜枚举,包括将数据库作为集成点,使用 Kafka 作为...
BFF(Backend for Frontend)架构是一种设计模式,它在后端服务器和前端用户界面之间引入了一个中间层。BFF充当中介,负责处理前端应用程序的请求并与后端服务通信。这种架构可以提高前后端协同效率,优化接口调用,以及满足不同前端设备的需求。 BFF架构开发注意点 在使用BFF架构进行项...
RabbitMQ消息堆积的主要原因包括生产者发送速度远超消费者处理速度、消费者处理能力不足或故障、消费者未正确发送确认信号(ack)、不合理的QoS/Prefetch设置以及网络或系统资源瓶颈。 当生产者发送的消息堆积在队列中,如果堆积超过队列容量或设置了过期时间(TTL),可能会导致消息被丢弃。 ...
Kafka和RabbitMQ在架构设计、数据处理方式和适用场景上存在显著差异。 Kafka 是一个分布式流处理平台,使用基于主题和分区的日志存储,采用拉取(pull)模式,适合高吞吐量、大数据流和实时数据处理的场景,并允许消息重放。 而RabbitMQ 是一种传统的、更灵活的消息代理,基于**推送(...
先说结论 判断一个数n是否为质数(素数)时,只需要判断小于或等于sqrt(n)的数能否整除n即可。这是因为如果n是一个合数,那么n可以分解为a和b两个数,即n = a ✖️ b,那么这两个因数中必然有一个小于或等于sqrt(n),另一个大于或等于sqrt(n)。因此只需要找出小于或等于sqrt(n)...
在分布式系统设计领域,六边形架构(Hexagonal Architecture,又称端口与适配器模式)作为一种以领域为中心的架构模式,通过明确分离核心业务逻辑与外部交互,有效提升系统的可测试性、可扩展性与可维护性。本文从核心概念、实现原理、应用场景及面试高频问题四个维度,结合Spring生态实践,系...
工欲善其事,必先利其器;士欲宣其义,必先读其书。后台开发作为互联网技术领域的掌上明珠,一直都是开发者们的追逐的高峰。本文将从后台开发所涉及到的技术术语出发,基于系统开发、架构设计、网络通信等几个方面让大家对后台开发有一个清晰的了解,讲解全面易懂。 系统开发 1. 高内聚/低耦合 高内聚指一个软件模块...
参考网址:https://mermaid-js.github.io/mermaid/#/classDiagram 类图 “在软件工程中,统一建模语言(Unified Modeling Language:UML)中的类图是一种静态结构图,通过显示系统的类,其属性,操作(或方法)以及对象之间的关系来描述...