- 博客(134)
- 资源 (2)
- 收藏
- 关注
原创 【Spring】Spring的请求处理
本文介绍了Spring框架在处理应用层不同协议请求时的应用。首先,文章概述了服务间通信的三种模式:同步、异步和流式通信,并指出Spring框架专注于应用层开发。接着,详细探讨了Spring如何处理HTTP/HTTPS协议,包括Spring Web与Spring Web MVC模块的功能和流程,以及Spring WebFlux模块的响应式编程特性。此外,文章还提到了自定义TCP/IP协议的处理方式,如gRPC和Apache Dubbo,以及Spring框架对FTP和SMTP协议的支持。通过这些内容,读者可以了
2025-05-17 17:25:16
595
原创 【Java微服务组件】分布式协调P1-数据共享中心简单设计与实现
分布式微服务架构中,有一些常见的分布式协调问题,如配置管理、命名服务(共享服务实例的地址信息)、分布式锁、集群管理、Master选举等。这些协调问题可以简单归纳为**数据的共享与状态监控**,我们需要解决这些问题来保障架构的可用、性能,同时降低耦合、开放拓展等。
2025-05-16 17:44:20
700
原创 【Java基础】不可变对象——通过消除共享来简化并发
不可变思想既有空间(变更需要创建新对象、复杂对象深层拷贝)换时间(无锁竞争)底色,又做到了防御性编程。通过限制对象的变化来换取稳定性。
2025-05-16 09:42:42
137
原创 【表设计】权鉴模型设计
系统安全六要素中的认证、授权、凭证常关联起来形成权鉴,用于支撑系统安全。今天,我们一起来深入了解权鉴系统的常见模型,RBAC与ABAC。看看这两种模型是怎么设计的,它们又解决了什么样的问题。
2025-05-07 11:05:30
863
原创 【Spring】Spring事务全面解析
Spring事务最复杂也最强大的特性就是事务的传播行为,它决定了事务方法互相调用时如何处理事务的边界。此接口定义了事务的的7种传播行为,包括:REQUIRED (默认)定义:若当前存在事务则加入,否则新建事务。比如A.methodA()调用B的methodB()方法,那么若是A的方法包含事务,则B的方法则不重新开启事务。场景:适合原子化操作,如订单创建与库存扣减。定义:始终新建事务,挂起当前事务(若有)。新事务独立提交或回滚。场景:独立操作需强制提交,如审计日志记录。
2025-04-23 09:58:01
910
原创 [表设计]层次数据结构
具有层级关系的数据结构叫“层次数据结构”,是数据库设计中一种常见的数据组织形式。常见的层次关系的数据有组织结构、文件系统、产品分类等。
2025-04-18 08:00:00
578
原创 [Redis]1-高效的数据结构P2-Set
Redis不负简单高效的内存数据库之名,一方面做了大量空间换时间的操作,一方面设计极致压榨内存、提升内存效率。比如跳表的预存、hash表的渐进扩容、String sds的预留空间、延迟释放、intset的极致内存利用、set的动态转换。
2025-04-18 08:00:00
1112
原创 [AI]浅谈大模型应用开发的认知构建
AI是模仿人类行为的软件系统,通过算法(如机器学习、深度学习)和数据,实现感知(如计算机视觉)、推理(如自然语言处理)、决策(如强化学习)等能力。技术支柱:机器学习(ML)、深度学习(DL)、生成式AI(GenAI)、Transformer模型(如GPT)、RAG(检索增强生成)等。细分为弱人工智能(Weak AI)、强人工智能(Strong AI)、生成式AI。生成式AI(AIGC)通过模型生成内容(如文本、图像),是当前应用的核心技术(如Midjourney、ChatGPT)。
2025-04-17 23:02:50
710
原创 [Python基础速成]1-Python规范与核心语法
本系列旨在快速掌握Python,实现能够快速阅读和理解 Python 代码,并在可查阅语法的情况下进行 AI 学习。
2025-04-14 15:50:46
675
原创 [Java微服务组件]注册中心P1-简单注册中心实现
通过对注册中心的简单实现,我们不难发现,简单的Master-Slave结构无容错机制,一旦 Master 节点故障,整个系统将不可用。且分布式网络往往是不可靠的,单纯依赖内存存储的容错能力极低,且无法支持大规模服务实例的扩展。在实际生产中,服务的健康状态也更加复杂,健康监测也需要考虑多协议支持,HTTP方式的信息密度和效率无法支持高并发需求等。对于不同的服务需要配置的检查方式可能也不一样,间隔、超时阈值也各不相同。注册表的一致性问题也更加复杂,分布式数据的隔离性实现也不是本地JVM锁能做到的。
2025-04-09 09:00:00
819
原创 LeetCode算法题中的数学知识——数论与基本运算
刷LeetCode时,有不少算法题都需要运用到数学中的概念与公式进行求解。本篇对一些基础的数学概念和技巧做一个总结收纳,持续更新。
2025-04-03 09:53:11
605
原创 [Java微服务架构]理论总集篇
[Java微服务架构]系列也是接近尾声了,本系列系统梳理了从单体架构到分布式架构,微服务架构有哪些改变,做了什么样的设计以满足服务的CAP特性,为什么那样设计?设计时有哪些问题需要考虑,各个设计优缺点是什么?
2025-04-01 15:57:23
1188
原创 [Java微服务架构]7_事务处理
Sage较之前的2PC与TCC,因为事务回滚机制的同步与事务调度方式不同,新能上有所差异。2PC实现比较简单,但有着网络不可靠、事务隔离级别不足问题。TCC解决了2PC问题且是非阻塞状态,且可以有更柔性的实现,如融合服务降级+补偿机制,但是需要服务应用“预留资源”,在部分场景中使用不了。Sage不用预留资源,且也有补偿机制,且补偿机制较2PC全部回滚更灵活,只需要回滚已经提交的,且补偿机制可以按顺序部分回滚。总的来说,在设计分布式事务时不同方案有不同的优缺点。
2025-03-28 17:28:43
809
原创 [Java微服务架构]7-1_事务处理——事务特性与本地事务
本篇先介绍“事务特性”与“单服务单数据源”全盘将介绍如引言所述分布式系统中事务的处理。
2025-03-28 15:06:14
739
原创 [计算机网络]网络I/O模型
我们非常有必要了解I/O模型,以Java微服务为例,微服务架构中的网关Gateway与共享缓存Redis的核心设计的理解都离不开网络I/O。
2025-03-27 14:42:38
1047
原创 [分布式系统]2_分布式数据共享方式_P1
在微服务架构中,服务和组件往往以集群形式存在。一份数据,如注册表信息,其存在于注册中心集群的多个注册中心服务上。然而,微服务架构的网络往往是不可靠的,我们如何在不可靠的网络条件下,正确地同步可能实时动态变更的注册表信息呢?
2025-03-26 16:29:44
606
原创 [Java微服务架构]5_服务通信之异常处理
本篇主要讨论服务集群故障时的处理方案设计。包含故障处理与流量控制,其中故障处理包括熔断+降级,流量控制则介绍了流量控制的3个问题与经典的4个限流算法。
2025-03-26 10:16:24
912
原创 [Java微服务架构]4_服务通信之客户端负载均衡
本文主要讨论客户端负载均衡,即怎么在服务集群中选取一个合适的服务来调用。包含常见负载均衡算法的介绍。
2025-03-26 10:08:27
762
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人