自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 架构师面试(三十八):注册中心架构模式

在微服务系统中,当服务达到一定数量时,通常需要引入【注册中心】组件,以方便服务发现。注册中心存在的最根本的原因是什么呢?注册中心在企业中的最佳实践是怎样的?注册中心的服务发现有两大模式,分别是:【客户端发现模式】和【服务端发现模式】,这两者之间有怎样的区别呢?

2025-05-02 11:41:35 706

原创 架构师面试(三十七):监控系统架构模式

监控系统需要对指标数据进行【实时跟踪】和【实时报警】,所以数据源非常关键;根据对数据源处理的方式,我们可以抽象出三类监控系统的【架构模式】,即:【轮询计算模式】、【中心计算模式】和【边缘计算模式】。

2025-05-02 11:19:04 1325

原创 架构师面试(三十六):广播消息

改造实现流程,在广播时只写系统消息库;在用户登录时,由登录事件触发拉齐系统消息与用户未读数的一致性动作。

2025-04-25 22:16:08 834

原创 架构师面试(三十五):边缘计算模式监控系统

对于边缘计算模式的监控系统,其客户端部署在服务运行的机器上,即 agent 进程,其数据采集端通过 SDK 方式嵌入在运行的服务中

2025-04-22 06:00:00 258

原创 架构师面试(三十四):IM 假在线

【假在线】是一个合理的异常现象;说“合理”是因为并非因为设计缺陷所致,说“异常”是因为假在线终究是一个问题,需要解决。

2025-04-20 11:04:05 829

原创 架构师面试(三十三):HTTPS 原理

HTTPS 协议增强了网络信息传输的安全性,它的设计非常巧妙,综合应用了【对称加密】、【非对称加密】、【数字证书】等相关技术,避免了信息的伪造、截获、冒充等行为。

2025-04-19 06:00:00 704

原创 架构师面试(三十二):注册中心数据结构

在【注册中心】的数据结构中,共包括四类【KList】结构:服务与节点的映射关系、节点与服务的映射关系、 订阅关系映射和被订阅关系映射。

2025-04-18 20:31:18 832

原创 架构师面试(三十一):IM 消息收发逻辑

“可靠性 ” 一方面要求消息不能丢失,另一方面要求如果接收方在线就应该收到消息,如果不在线就需要通过其他触达通道通知到;“及时性” 要求消息的收发需要低延时。基于水平分层架构,IM系统完整的消息收发逻辑流程划分为三个阶段,即:生产消息阶段、推送消息阶段 和 消息确认阶段;另外为了保证消息的“可靠性”设计三重保障。

2025-04-18 20:20:32 940

原创 架构师面试(三十):IM 分层架构

IM 客户端向服务端发出请求,按请求处理顺序, 水平分层架构的 IM 系统包括【入口网关层】、【业务逻辑层】、【路由层】和【数据访问层】。

2025-04-13 13:47:35 974

原创 架构师面试(二十九):TCP Socket 编程

对 TCP Socket 编程过程中遇到的五大类问题包括:建立连接问题、从连接中读数据问题、向连接写数据问题、线程安全问题、关闭连接问题。

2025-04-13 13:29:51 582

原创 架构师面试(二十八):业务建模

业务建模即通过易于理解的模型将业务中的关键问题准确表达出来;业务建模是需求分析环节乃至整个软件生命周期中非常关键的一环,它几乎决定了软件的开发周期和成本。

2025-04-09 13:11:52 420

原创 架构师面试(二十七):单链表

这是数据结构中一个非常典型的小型算法,有栈实现方案、队列实现方案和双指针实现方案等。

2025-04-06 18:00:00 283

原创 架构师面试(二十六):系统拆分

从 Logic 中拆分出 Extlogic,解决运营活动影响核心业务逻辑的问题;从 Logic 中拆分出 SpamLogic、AdLogic、MarketingLogic、OrderLogic、TradeLogic 等,解决业务单元之间互相影响的问题;业务单元中台化,解决业务复用问题,助力前端业务发展。

2025-04-06 09:33:33 450

原创 架构师面试(二十五):分布式存储 Leader 设计

在分布式存储系统中,往往会有一个负责数据写入的【Leader】角色,这样设计的原因包括:避免多节点写入的数据冲突;避免多节点写入时副本同步的网络拥堵;单节点写入可以降低系统复杂度;单节点写入更容易实现顺序一致性等等。

2025-04-02 23:40:37 377

原创 架构师面试(二十四):RPC 与 MQ

如果没有 RPC,微服务系统中所有的服务节点全部通过 MQ 进行消息通讯,设想一下这样的架构存在什么问题呢?MQ 就变成了整个微服务系统中一个中心化的组件,当这个组件出现任何问题时,整个微服务系统就会面临瘫痪的风险。

2025-03-31 06:00:00 169

原创 架构师面试(二十三):负载均衡

微服务系统中,负载均衡的实现,有两种常用方式,即 前置组件 和 VIP + keepalive。

2025-03-30 23:11:39 365

原创 架构师面试(二十二):TCP 协议

TCP 协议是如何做到【可靠】数据传输的?通过【序列号和确认号机制】和【校验和机制】,辅助手段是 【超时重传】【滑动窗口】【拥塞窗口】;既然 TCP 协议非常可靠,那为什么在应用层还需要 ACK 确认机制呢?TCP 传输数据是可靠的,但不能保证 TCP 缓冲区的数据一定能到应用层。

2025-03-28 00:11:08 612

原创 架构师面试(二十一):双边网络效应

作者制作了一个高质量非常吸引流量的短视频,该短视频会短时间内(一般3~7天)获得大量的“点赞”、“收藏”、“转发”、“评论”等,作者也会获得大量的用户关注(吸粉),在此激励下,作者会继续努力不断创作出更多高质量作品,更多的读者会继续被吸引

2025-03-25 06:00:00 426

原创 架构师面试(二十):CAP 定理

在对分布式系统进行读写操作时,只能保证C、A、P三者中的两个,另外一个必须被牺牲。

2025-03-23 10:01:40 885

原创 架构师面试(十九):IM 架构

IM 系统从架构模式上包括 【介绍人模式】和 【代理人模式】。介绍人模式也叫直连模式,消息收发不需要服务端的参与,即客户端之间直连的方式;代理人模式也叫中转模式,消息收发需要服务端进行中转。

2025-03-21 07:39:03 569

原创 架构师面试(十八):I/O 原理

【阻塞IO 和 非阻塞IO】描述的是 “应用程序” 调用 “系统内核”的操作方式,【同步IO 和 异步IO】描述的是 “应用程序”和“系统内核”的交互方式。

2025-03-19 13:01:31 494

原创 架构师面试(十七):总体架构

单体架构也可以在【技术】和【业务】双重驱动之下,同时进行水平和垂直拆分,直接演变成【微服务架构】;不管是水平拆分还是垂直拆分,拆分的目的都是一样的: 解耦。

2025-03-17 12:57:01 410

原创 架构师面试(十六):TCP Socket 编程

TCP Socket 编程问题:建立TCP连接、对 TCP 连接读写问题、多线程读写 TCP 连接问题、关闭 TCP 连接问题。

2025-03-15 06:00:00 354

原创 架构师面试(十五):熔断设计

【服务管控系统】是大脑,储存着用于决策的大量信息;【注册中心】是神经系统,用于传导大脑发出的指令;【服务】是功能器官,负责业务功能。

2025-03-14 20:42:01 342

原创 架构师面试(十四):注册中心设计

设计一个分布式的注册中心系统,需要考虑存储模型实现、订阅模型实现和数据节点同步这样三个最关键的问题。

2025-03-11 23:30:35 1024

原创 架构师面试(十三):未读数模型

整体上来说 IM 的未读数模型包括【离线消息计算】和【计数器计算】两种方式。

2025-03-09 06:00:00 954

原创 架构师面试(十二):优雅下线

服务节点接收到“重启”指令后,不再执行业务逻辑处理,直接对请求队列中的所有的请求生成“reboot”回复包,直接发送给对应的上游节点,

2025-03-08 06:00:00 319

原创 架构师面试(十一):消息收发

客户端X发消息给客户端Y,通常会经过三个阶段:生产消息阶段(客户端X发送消息到服务端,服务端经过一系列逻辑处理后发送回复包到客户端X),推送消息阶段(服务端经过一系列逻辑处理后推送消息到客户端Y),消息确认阶段(服务端等待客户端Y发送ACK数据包并进行逻辑处理)

2025-03-07 06:00:00 222

原创 架构师面试(十):消息存储设计

写扩散方式进行消息存储,可以方便消息的定制化需求的实现,也可以方便分库分表后同一用户的所有消息能落到一张表中。

2025-03-03 23:05:53 362

原创 架构师面试(九):缓存一致性

插入操作:只写数据库即可;查询操作:先查询 缓存,如果为空则查询 数据库,然后将查询到的数据写入缓存;删除操作:先删除数据库,再删除缓存;更新操作:先更新数据库,再删除缓存。

2025-03-01 11:48:51 514

原创 架构师面试(八):RPC

前端通常基于【短连接】访问后端;在后端集群中,服务之间通常基于【全双工通信的长连接】进行 RPC 调用;在服务对数据库或缓存进行访问时,会基于【半双工通信的长连接】进行 RPC 调用。

2025-02-27 06:00:00 331

原创 架构师面试(七):评论消息

信箱模型的定时拉取方案,实时性低,实现简单;电话模型的主动推送方案,实时性高,但实现复杂;BP机模型的通知回调和拉取方案,实时性高,实现也简单。

2025-02-25 06:00:00 259

原创 架构师面试(六):熔断和降级

商品列表服务调用广告服务有98%调用是超时的,如果继续调用,大概率仍得不到正常结果,熔断是最好的选择,否则容易导致大面积的服务雪崩。

2025-02-23 09:31:58 266

原创 架构师面试(五):理解协程

协程是轻量级的用户级线程,轻量级和用户级是其核心和关键。

2025-02-21 06:00:00 130

原创 架构师面试(四):服务治理模型

注册中心作为微服务系统架构的核心,能触达到所有的微服务实例,这为服务治理提供了基础,可以非常方便的下发指令到各个微服务实例;注册中心提供的是下发指令的通道,而非采集数据的通道。

2025-02-19 06:00:00 315

原创 架构师面试(三):订阅模型

信箱模型,即客户端定时对服务端进行轮询,实现简单,但实时性不高;电话模型,由服务端触发,客户端被动响应,消息实时性比较高,但是落地相对复杂很多;BP 机模型,包括三次交互,首先是服务端主动推送 “通知” 到客户端,然后触发客户端的 “信箱模型” 动作。

2025-02-17 22:53:27 449

原创 架构师面试(二):计算机编程基础

协程是轻量级的用户级线程;操作系统用于进程治理和为应用提供访问硬件的能力;epoll 是同步非阻塞IO模型,IOCP 是纯异步IO模型;TCP 网络编程需要注意粘包和分包问题。

2025-02-15 11:54:43 239

原创 架构师面试(一):主从模式

分布式存储系统中 “主” 的存在是为了解决 “写冲突” 和简化 “同步逻辑” 的问题。

2025-02-13 06:00:00 275

原创 架构技能 专题文章合集

架构技能文章系列合集,包括软件架构、需求分析、软件设计、软件分层、代码解耦、扩展性、订阅模型、互联网三高、服务治理、CAP等。

2025-02-11 06:00:00 233

原创 架构技能(十二):订阅模型

什么是订阅?订阅模型需要解决什么问题?订阅模型有哪些常见落地方式?BP 机模型典型应用有哪些?

2025-02-09 11:18:33 1129

空空如也

空空如也

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

TA关注的人

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