自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 美团二面:Redis 的 Key 过期时间到了,内存是立马释放的吗?为什么我的主库内存正常,从库却爆了?

破题(纠正认知): “面试官,Redis 的过期删除并非‘准时’,而是惰性删除(Lazy)和定期删除(Active)配合完成的。而且,定期删除是运行在主线程中的。剖析机制(展示深度): “定期删除本质是概率抽查。Redis 限制了执行时长(默认 25ms),防止阻塞主线程。但在主从架构下,从库是被动的,必须等待主库同步DEL指令。如果主从延迟高,会出现从库内存不释放的现象。解决方案(实战经验)业务层:TTL 必须加随机值(如),打散过期时间,防止‘过期风暴’。配置层:根据业务场景选择正确的淘汰策略。

2025-12-19 09:40:44 3

原创 通过 S3 接口删除 Ceph RGW 对象后,ceph df 使用率不立即减少的原因详解

S3 删除仅移除索引条目,实际数据依赖 RGW 的异步垃圾回收进程清理,因此。

2025-12-19 09:31:55 636

原创 论证券云盘系统的软件架构评估方法及应用

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述软件架构评估在项目中的实际应用。通过对场景和需求的收集,确立了项目所需关注的场景和需求;通过对架构视图和场景的实现,展现框架的整体思想,分析场景和架构的匹配度,对场景做优先级划分;通过属性模型构造和分析,对单一属性,以及安全性和性能等冲突属性进行权衡分析。通过以上实施过程,我们顺利对项目的软件框架进行了评估。

2025-12-15 14:03:59 483

原创 论证券云盘系统的基于架构软件设计方法的应用

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述基于架构的软件设计方法在该系统中的具体应用。在架构需求阶段,以构件图、包图、类图和对象图描述系统结构,为系统整体的上层结构进行建模;在架构复审阶段,采用架构权衡分析法来对架构设计方案进行复审,以应对评估质量属性的满足程度问题;在架构演化阶段,采用需求变动管理工具对收集的需求进行归类,以应对需求变动管理问题。

2025-12-15 14:03:46 568

原创 论证券云盘系统的系统测试及其应用

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述系统测试技术在该项目中的具体应用。通过功能测试确保系统实现了全部的需求功能点及功能的正确性;通过压力测试,确保系统在大面积铺开使用时可以稳定运行;通过用户界面测试,确保系统在功能和界面上都能满足用户的需求,提升用户体验。我们通过利用恰当的系统测试技术与工具,使系统测试更加精准可靠,大大提升了系统上线后的稳定性。

2025-12-12 13:45:02 8

原创 论证券云盘系统的软件维护方法及其应用

在公司证券云盘系统维护工作中,我作为系统架构师,主导构建软件维护体系以应对业务变更与技术迭代。本文聚焦云盘系统维护工作,详细分析了影响软件维护工作的因素,包括软件自身的复杂性、文档的完整性、人员流动等。然后结合该实际项目,说明了在维护过程中通过 MTTR 度量软件外部可维护性,通过度量软件复杂性间接度量内部可维护性,并阐述了具体的软件维护工作类型,如改正性维护、适应性维护、完善性维护和预防性维护。软件维护在整个软件生命周期中占比超 60%,分析影响因素、度量和提高可维护性至关重要。

2025-12-12 13:44:48 11

原创 论证券云盘系统的可靠性设计

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述高可靠性系统中的可靠性设计实践。为了防止硬件和软件的单节点故障问题,我们采用了分布式集群部署的方式来提高软硬件服务的可靠性;数据库是所有业务服务都依赖的基础服务,我们采用了主备部署的方式提高数据库的可靠性;为了提高业务服务软件健壮性与可靠性,我们采用了防卫式程序设计、降低复杂度设计和错误日志记录的方案来提高服务的可靠性。

2025-12-10 09:39:01 9

原创 论证券云盘系统的微服务架构应用

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述微服务架构的实践路径:我们将系统拆分成多个独立的微服务,每个服务实现独立业务功能。使用API网关管理客户端对微服务的访问,采用 RESTful API 进行服务间的通信,实现服务的解耦和灵活集成。同时,利用 Eureka 进行服务注册与发现,确保各服务的可靠感知与管理。

2025-12-10 09:38:43 77

原创 论证券云盘系统的系统安全架构设计及其应用

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述安全架构的设计,主要设计内容包括身份鉴别服务、访问控制服务、数据完整性和机密服务,其中身份鉴别服务确保只有经过授权且身份合法的用户才能访问系统资源;访问控制服务确保只有授权的用户能够访问特定的数据;数据机密性确保数据仅对授权者可用。通过设计安全服务,我们系统面临的安全威胁得到了有效的控制,并且系统通过证券行业等保三级认证。

2025-12-09 08:43:24 442

原创 论证券云盘系统的云原生架构应用

2022年4月,我作为系统架构师,参与了公司证券云盘系统建设项目。该项目旨在为中小券商提供符合金融监管要求的高性能且易用的云盘存储服务。本文聚焦云盘系统开发,阐述云原生架构的实践路径:基于云原生自动化原则,解决传统开发运维流程中人工操作繁琐、效率低下以及容易出错的问题;基于云原生服务化原则,解决以往单体架构系统耦合度高、难以扩展和维护的问题;基于云原生弹性原则,解决以往项目中系统资源无法根据需求进行弹性缩扩容的问题;通过云原生架构,系统实现资源与应用双层弹性,提升服务能力及自动化水平。

2025-12-09 08:43:03 367

原创 论金融行情系统的大数据处理架构应用

2022年4月,我作为系统架构师,参与了公司金融行情系统建设项目。该系统旨在为投资者提供全面、准确、及时的金融行情信息。本文介绍了流处理、批处理、混合处理架构特点与区别。项目实践中,我们选用了 Lambda 架构。其中,批处理层借助 Hadoop 强大的数据处理能力,对历史行情数据进行深度挖掘和处理,确保数据处理的准确性和全面性。而流处理层则采用 Kafka 作为消息队列,结合 Flink 进行实时数据处理,保证了行情信息的低延迟性。

2025-12-08 10:51:55 480

原创 论证智能金融客服系统的大模型应用

2024年8月,我作为系统架构师,参与了公司智能金融客服建设项目。该项目旨在利用大模型技术为客户提供高效、智能的客户服务解决方案。本文聚焦大模型技术的应用,首先介绍大模型相关技术,如 Transformer 架构可准确捕捉语义信息,知识蒸馏技术能降低系统运行成本等。接着介绍本系统对大模型技术实际应用:我们首先对收集到的海量金融客服数据进行清洗和标注,构建高质量训练数据集,并将数据集划分为训练集、验证集、测试集;

2025-12-08 10:44:52 416

原创 计算机网络中的大小端问题

示例代码:2. 函数 全称: 作用:将 32位整数 从 网络字节序 转换回 主机字节序。 使用场景: 接收数据后,将网络标准字节序转为本机字节序。 例如:解析收到的 IPv4 地址或端口号。 示例代码: 3. 其他相关函数 函数 作用 数据类型 Host to Network Short 16位(如端口) Network to Host Short 16

2025-03-04 09:19:10 532

原创 如何理解TCP的拥塞控制原理

TCP 拥塞控制通过以下四个阶段动态调整发送窗口(Congestion Window,):请结合图进行理解cwndcwnd *= 2cwnd1 MSSssthreshcwnd解释一下什么是MSS?TCP 报文段中。若 MSS = 1460 字节,则每个 TCP 报文段的数据部分最多为 1460 字节。在拥塞控制中,它作为拥塞窗口的计量单位,直接决定了每个 RTT(往返时间)内可发送的数据量。

2025-02-24 16:26:11 1743

原创 udp不是无连接的吗?为什么会有connect()这个系统调用?

connect()UDP协议中确实有connect()这个系统调用,尽管它与TCP协议中的用法有所不同。在UDP中,connect()的作用主要是简化数据传输过程,提供某些便利的功能。connect()

2025-02-24 14:24:35 464

原创 影响TCP百万并发量的因素有哪些?

使用sysctl net.ipv4.tcp_mem命令可查看系统的net.ipv4.tcp_mem配置值,同理查看其他配置。

2025-02-21 17:00:58 1879

原创 I/O 多路复用select、poll及epoll对比

【代码】I/O 多路复用select、poll及epoll对比。

2025-02-20 18:49:32 1035

原创 为什么进程中的fd总是从3开始分配?

也是每个进程独立一套。fd是一个int型,按理来说,fd应该是从0开始的,执行代码后发现,进程中代码创建的第一个fd是3。这里的“资源”包括硬件资源(CPU、内存、I/O设备)和软件资源(如文件、信号量等)。(尽管线程是执行的最小单元,但线程所属的进程整体参与调度)。首先,每个进程在创建时会被分配独立的资源,比如内存空间、所有 Linux 进程在启动时默认会打开。限制时,系统会抛出 EMFILE。当进程打开的 fd 数量超过。也是每个进程独立一套。Linux 内核采用。

2025-02-20 15:20:09 1760

原创 TCP的三次握手是发生在什么阶段

在服务端运行上述代码,客户端发送一个连接,能够顺利连接并正常收发数据,保持该连接。但是当你再发一个连接的时候,你会发现连接是成功的,通过服务端的netstat查看也能发现有2个客户端连接是ESTABLISHED状态。这是否说明了TCP连接的三次握手是发生在listen()函数中呢?TCP三次握手是建立连接的过程,涉及客户端和服务端之间的SYN、SYN-ACK、ACK包的交换。而listen()和accept()是服务器端使用的系统调用。

2025-02-20 12:32:22 713

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除