
架构师面试
文章平均质量分 71
棕生
探究技术本质,优化设计方案,抽象架构模式!
展开
-
架构师面试(三十八):注册中心架构模式
在微服务系统中,当服务达到一定数量时,通常需要引入【注册中心】组件,以方便服务发现。注册中心存在的最根本的原因是什么呢?注册中心在企业中的最佳实践是怎样的?注册中心的服务发现有两大模式,分别是:【客户端发现模式】和【服务端发现模式】,这两者之间有怎样的区别呢?原创 2025-05-02 11:41:35 · 701 阅读 · 0 评论 -
架构师面试(三十七):监控系统架构模式
监控系统需要对指标数据进行【实时跟踪】和【实时报警】,所以数据源非常关键;根据对数据源处理的方式,我们可以抽象出三类监控系统的【架构模式】,即:【轮询计算模式】、【中心计算模式】和【边缘计算模式】。原创 2025-05-02 11:19:04 · 1307 阅读 · 0 评论 -
架构师面试(三十六):广播消息
改造实现流程,在广播时只写系统消息库;在用户登录时,由登录事件触发拉齐系统消息与用户未读数的一致性动作。原创 2025-04-25 22:16:08 · 830 阅读 · 0 评论 -
架构师面试(三十五):边缘计算模式监控系统
对于边缘计算模式的监控系统,其客户端部署在服务运行的机器上,即 agent 进程,其数据采集端通过 SDK 方式嵌入在运行的服务中原创 2025-04-22 06:00:00 · 251 阅读 · 0 评论 -
架构师面试(三十四):IM 假在线
【假在线】是一个合理的异常现象;说“合理”是因为并非因为设计缺陷所致,说“异常”是因为假在线终究是一个问题,需要解决。原创 2025-04-20 11:04:05 · 822 阅读 · 0 评论 -
架构师面试(三十三):HTTPS 原理
HTTPS 协议增强了网络信息传输的安全性,它的设计非常巧妙,综合应用了【对称加密】、【非对称加密】、【数字证书】等相关技术,避免了信息的伪造、截获、冒充等行为。原创 2025-04-19 06:00:00 · 699 阅读 · 0 评论 -
架构师面试(三十二):注册中心数据结构
在【注册中心】的数据结构中,共包括四类【KList】结构:服务与节点的映射关系、节点与服务的映射关系、 订阅关系映射和被订阅关系映射。原创 2025-04-18 20:31:18 · 824 阅读 · 0 评论 -
架构师面试(三十一):IM 消息收发逻辑
“可靠性 ” 一方面要求消息不能丢失,另一方面要求如果接收方在线就应该收到消息,如果不在线就需要通过其他触达通道通知到;“及时性” 要求消息的收发需要低延时。基于水平分层架构,IM系统完整的消息收发逻辑流程划分为三个阶段,即:生产消息阶段、推送消息阶段 和 消息确认阶段;另外为了保证消息的“可靠性”设计三重保障。原创 2025-04-18 20:20:32 · 930 阅读 · 0 评论 -
架构师面试(三十):IM 分层架构
IM 客户端向服务端发出请求,按请求处理顺序, 水平分层架构的 IM 系统包括【入口网关层】、【业务逻辑层】、【路由层】和【数据访问层】。原创 2025-04-13 13:47:35 · 964 阅读 · 0 评论 -
架构师面试(二十九):TCP Socket 编程
对 TCP Socket 编程过程中遇到的五大类问题包括:建立连接问题、从连接中读数据问题、向连接写数据问题、线程安全问题、关闭连接问题。原创 2025-04-13 13:29:51 · 572 阅读 · 0 评论 -
架构师面试(二十八):业务建模
业务建模即通过易于理解的模型将业务中的关键问题准确表达出来;业务建模是需求分析环节乃至整个软件生命周期中非常关键的一环,它几乎决定了软件的开发周期和成本。原创 2025-04-09 13:11:52 · 414 阅读 · 0 评论 -
架构师面试(二十七):单链表
这是数据结构中一个非常典型的小型算法,有栈实现方案、队列实现方案和双指针实现方案等。原创 2025-04-06 18:00:00 · 279 阅读 · 0 评论 -
架构师面试(二十六):系统拆分
从 Logic 中拆分出 Extlogic,解决运营活动影响核心业务逻辑的问题;从 Logic 中拆分出 SpamLogic、AdLogic、MarketingLogic、OrderLogic、TradeLogic 等,解决业务单元之间互相影响的问题;业务单元中台化,解决业务复用问题,助力前端业务发展。原创 2025-04-06 09:33:33 · 446 阅读 · 0 评论 -
架构师面试(二十五):分布式存储 Leader 设计
在分布式存储系统中,往往会有一个负责数据写入的【Leader】角色,这样设计的原因包括:避免多节点写入的数据冲突;避免多节点写入时副本同步的网络拥堵;单节点写入可以降低系统复杂度;单节点写入更容易实现顺序一致性等等。原创 2025-04-02 23:40:37 · 366 阅读 · 0 评论 -
架构师面试(二十四):RPC 与 MQ
如果没有 RPC,微服务系统中所有的服务节点全部通过 MQ 进行消息通讯,设想一下这样的架构存在什么问题呢?MQ 就变成了整个微服务系统中一个中心化的组件,当这个组件出现任何问题时,整个微服务系统就会面临瘫痪的风险。原创 2025-03-31 06:00:00 · 157 阅读 · 0 评论 -
架构师面试(二十三):负载均衡
微服务系统中,负载均衡的实现,有两种常用方式,即 前置组件 和 VIP + keepalive。原创 2025-03-30 23:11:39 · 358 阅读 · 0 评论 -
架构师面试(二十二):TCP 协议
TCP 协议是如何做到【可靠】数据传输的?通过【序列号和确认号机制】和【校验和机制】,辅助手段是 【超时重传】【滑动窗口】【拥塞窗口】;既然 TCP 协议非常可靠,那为什么在应用层还需要 ACK 确认机制呢?TCP 传输数据是可靠的,但不能保证 TCP 缓冲区的数据一定能到应用层。原创 2025-03-28 00:11:08 · 606 阅读 · 0 评论 -
架构师面试(二十一):双边网络效应
作者制作了一个高质量非常吸引流量的短视频,该短视频会短时间内(一般3~7天)获得大量的“点赞”、“收藏”、“转发”、“评论”等,作者也会获得大量的用户关注(吸粉),在此激励下,作者会继续努力不断创作出更多高质量作品,更多的读者会继续被吸引原创 2025-03-25 06:00:00 · 416 阅读 · 0 评论 -
架构师面试(二十):CAP 定理
在对分布式系统进行读写操作时,只能保证C、A、P三者中的两个,另外一个必须被牺牲。原创 2025-03-23 10:01:40 · 879 阅读 · 0 评论 -
架构师面试(十九):IM 架构
IM 系统从架构模式上包括 【介绍人模式】和 【代理人模式】。介绍人模式也叫直连模式,消息收发不需要服务端的参与,即客户端之间直连的方式;代理人模式也叫中转模式,消息收发需要服务端进行中转。原创 2025-03-21 07:39:03 · 559 阅读 · 0 评论 -
架构师面试(十八):I/O 原理
【阻塞IO 和 非阻塞IO】描述的是 “应用程序” 调用 “系统内核”的操作方式,【同步IO 和 异步IO】描述的是 “应用程序”和“系统内核”的交互方式。原创 2025-03-19 13:01:31 · 487 阅读 · 0 评论 -
架构师面试(十七):总体架构
单体架构也可以在【技术】和【业务】双重驱动之下,同时进行水平和垂直拆分,直接演变成【微服务架构】;不管是水平拆分还是垂直拆分,拆分的目的都是一样的: 解耦。原创 2025-03-17 12:57:01 · 405 阅读 · 0 评论 -
架构师面试(十六):TCP Socket 编程
TCP Socket 编程问题:建立TCP连接、对 TCP 连接读写问题、多线程读写 TCP 连接问题、关闭 TCP 连接问题。原创 2025-03-15 06:00:00 · 347 阅读 · 0 评论 -
架构师面试(十五):熔断设计
【服务管控系统】是大脑,储存着用于决策的大量信息;【注册中心】是神经系统,用于传导大脑发出的指令;【服务】是功能器官,负责业务功能。原创 2025-03-14 20:42:01 · 332 阅读 · 0 评论 -
架构师面试(十四):注册中心设计
设计一个分布式的注册中心系统,需要考虑存储模型实现、订阅模型实现和数据节点同步这样三个最关键的问题。原创 2025-03-11 23:30:35 · 1017 阅读 · 0 评论 -
架构师面试(十三):未读数模型
整体上来说 IM 的未读数模型包括【离线消息计算】和【计数器计算】两种方式。原创 2025-03-09 06:00:00 · 944 阅读 · 0 评论 -
架构师面试(十二):优雅下线
服务节点接收到“重启”指令后,不再执行业务逻辑处理,直接对请求队列中的所有的请求生成“reboot”回复包,直接发送给对应的上游节点,原创 2025-03-08 06:00:00 · 313 阅读 · 0 评论 -
架构师面试(十一):消息收发
客户端X发消息给客户端Y,通常会经过三个阶段:生产消息阶段(客户端X发送消息到服务端,服务端经过一系列逻辑处理后发送回复包到客户端X),推送消息阶段(服务端经过一系列逻辑处理后推送消息到客户端Y),消息确认阶段(服务端等待客户端Y发送ACK数据包并进行逻辑处理)原创 2025-03-07 06:00:00 · 217 阅读 · 0 评论 -
架构师面试(十):消息存储设计
写扩散方式进行消息存储,可以方便消息的定制化需求的实现,也可以方便分库分表后同一用户的所有消息能落到一张表中。原创 2025-03-03 23:05:53 · 355 阅读 · 0 评论 -
架构师面试(九):缓存一致性
插入操作:只写数据库即可;查询操作:先查询 缓存,如果为空则查询 数据库,然后将查询到的数据写入缓存;删除操作:先删除数据库,再删除缓存;更新操作:先更新数据库,再删除缓存。原创 2025-03-01 11:48:51 · 507 阅读 · 0 评论 -
架构师面试(八):RPC
前端通常基于【短连接】访问后端;在后端集群中,服务之间通常基于【全双工通信的长连接】进行 RPC 调用;在服务对数据库或缓存进行访问时,会基于【半双工通信的长连接】进行 RPC 调用。原创 2025-02-27 06:00:00 · 326 阅读 · 0 评论 -
架构师面试(七):评论消息
信箱模型的定时拉取方案,实时性低,实现简单;电话模型的主动推送方案,实时性高,但实现复杂;BP机模型的通知回调和拉取方案,实时性高,实现也简单。原创 2025-02-25 06:00:00 · 255 阅读 · 0 评论 -
架构师面试(六):熔断和降级
商品列表服务调用广告服务有98%调用是超时的,如果继续调用,大概率仍得不到正常结果,熔断是最好的选择,否则容易导致大面积的服务雪崩。原创 2025-02-23 09:31:58 · 260 阅读 · 0 评论 -
架构师面试(五):理解协程
协程是轻量级的用户级线程,轻量级和用户级是其核心和关键。原创 2025-02-21 06:00:00 · 127 阅读 · 0 评论 -
架构师面试(四):服务治理模型
注册中心作为微服务系统架构的核心,能触达到所有的微服务实例,这为服务治理提供了基础,可以非常方便的下发指令到各个微服务实例;注册中心提供的是下发指令的通道,而非采集数据的通道。原创 2025-02-19 06:00:00 · 308 阅读 · 0 评论 -
架构师面试(三):订阅模型
信箱模型,即客户端定时对服务端进行轮询,实现简单,但实时性不高;电话模型,由服务端触发,客户端被动响应,消息实时性比较高,但是落地相对复杂很多;BP 机模型,包括三次交互,首先是服务端主动推送 “通知” 到客户端,然后触发客户端的 “信箱模型” 动作。原创 2025-02-17 22:53:27 · 443 阅读 · 0 评论 -
架构师面试(二):计算机编程基础
协程是轻量级的用户级线程;操作系统用于进程治理和为应用提供访问硬件的能力;epoll 是同步非阻塞IO模型,IOCP 是纯异步IO模型;TCP 网络编程需要注意粘包和分包问题。原创 2025-02-15 11:54:43 · 231 阅读 · 0 评论 -
架构师面试(一):主从模式
分布式存储系统中 “主” 的存在是为了解决 “写冲突” 和简化 “同步逻辑” 的问题。原创 2025-02-13 06:00:00 · 268 阅读 · 0 评论