互联网三高架构分析

1 高性能

        提升系统处理效率,降低延迟(响应时间≤200ms),提高吞吐量(QPS/TPS)‌。

        可以从以下几个方面考虑:

                ① JVM调优与垃圾回收机制优化,降低内存占用和GC频率‌,目标就是减少STW

                ② 池化技术(线程池、连接池)减少资源创建销毁开销,提升响应速度‌

                ③ 无锁编程,通过原子操作和内存屏障实现线程同步的技术,旨在消除传统锁机制的性能瓶颈和死锁风险     

                ④ 高性能IO

                          零拷贝技术‌:通过sendfile、mmap等减少CPU数据拷贝次数,提升文件传输效

                          分布式存储‌:Ceph、MinIO等实现数据分片存储与并行读写,突破单机IO瓶颈‌

                          Reactor多线程:主线程处理连接,子线程池处理IO读写,支撑千万级QPS(如Netty)‌

                          IO多路复用:select/poll‌:单线程监控多个文件描述符,存在FD数量限制和性能瓶颈‌;epoll‌:事件驱动模式,支持百万级并发连接,通过红黑树存储FD提升查询效率‌;io_uring‌:Linux新型异步IO框架,采用环形缓冲区和零拷贝技术,系统调用开销降低50%以上‌

                          异步IO(AIO):内核完成数据准备和拷贝后通知应用层,适用于数据库、分布式存储等高吞吐场景‌

2 高可用

        保障系统7×24小时稳定运行,全年可用性达4个9(99.99%)以上(年停机时间≤52分钟)‌,中小型公司也至少要达到3个9(99.9%)原则。

        从以下几点思考:

                ① 多副本部署‌:关键组件(如数据库、服务节点)部署多个副本,通过主从复制、集群化消除单点故障‌

                ② 流量自动切换‌:使用负载均衡器(如Nginx、LVS)动态分配请求,故障节点流量自动转移至健康节点‌

                ③ 健康检查‌:通过心跳检测、探针监控节点状态,异常时触发熔断或剔除故障节点‌

                ④ 服务降级‌:在系统压力过大时,暂时关闭非核心功能(如评论、推荐),优先保障核心链路可用性‌

                ⑤ 限流与熔断‌:通过令牌桶、滑动窗口算法限制突发流量,防止雪崩效应;异常服务调用触发熔断,快速失败‌

                ⑥ 数据库主从复制‌:MySQL主从同步结合半同步复制,保障数据一致性;故障时通过VIP或DNS切换主库‌

                ⑦ 分布式缓存‌:Redis Cluster支持分片存储与自动故障转移,结合持久化策略防止数据丢失‌

3 高并发

        应对海量用户同时请求,确保系统稳定承载流量压力,避免响应延迟或服务崩溃‌。

        可以从以下几个方面考虑:

                ① 异步化处理‌(削峰):使用消息队列(Kafka/RabbitMQ)解耦同步操作,减少阻塞‌

                ② ‌缓存优化‌:多级缓存策略(本地缓存+Redis),降低数据库负载‌

                ③ 水平扩展‌:通过弹性扩缩容(Kubernetes)动态调整资源,应对流量波动‌

                ④ 数据库优化-分库分表‌:按业务维度拆分(如用户ID哈希),避免单表数据过大‌

                ⑤ 数据库优化-读写分离‌:主库处理写操作,从库集群承载读请求,提升并发能力‌

                ⑥ 高并发下数据一致性

                        并发写冲突‌:多个请求同时修改同一数据,导致最终状态不符合预期

                        ‌缓存与数据库不一致‌:缓存更新延迟或失败,引发脏读或旧数据覆盖新数据(如Redis缓存未同步MySQL更新)‌【‌双删延迟策略‌:更新数据库后删除缓存两次(间隔业务处理时间),降低脏数据概率‌】

                        分布式事务复杂性‌:跨服务或跨数据库操作难以保证原子性,部分成功可能破坏一致性(如支付扣款成功但订单未更新)‌【分布式事务机制:TCC模式(Try-Confirm/Cancel 三阶段补偿机制,适用于需高一致性的支付、订单场景‌)、Saga模式(事件驱动的长事务拆分与补偿回滚,适用于异步业务流程)、‌本地消息表(结合消息队列与本地事务表,保证最终一致性,电商异步扣库存)】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值