应用架构图
在业务架构基础上,技术架构将需求转化为技术实现。涵盖分层设计、技术选型与关键技术关系,包括单体四层结构(表现、业务、数据、基础层)与分布式应用架构,明确内外部系统调用关系及边界,构建完整技术体系。
安全体系:如何建立可靠的安全体系?
本讲聚焦RPC安全问题,重点解决调用方未授权调用与服务提供方被滥用的风险。通过引入基于HMAC的异步认证机制,实现调用方身份唯一性验证,避免非法接入。同时,在服务注册阶段绑定接口与应用,防止伪造服务提供者。结合授权平台与本地验签,构建去中心化、高效可控的安全体系,保障内网RPC调用的合法性与稳定性,提升系统整体安全性。
异步 RPC:压榨单机吞吐量
本文深入探讨如何通过异步机制提升 RPC 框架的单机吞吐量。重点解析了调用端的 Future 异步模式与服务端的异步处理方案,并提出通过支持 CompletableFuture 实现全链路异步,显著提高 CPU 利用率和系统吞吐能力,是构建高性能 RPC 系统的关键策略。
第九章 SpringCloud框架
Nacos实现服务注册与发现,支持心跳检测、负载均衡及配置管理;Eureka功能类似但仅限注册中心。两者均支持AP模式集群,而Nacos提供更灵活的分级存储模型。OpenFeign结合LoadBalancer实现服务调用,Sentinel用于限流熔断,Gateway则通过路由断言与过滤器实现请求路由、鉴权、限流等网关功能。
MongoDB相关概念
MongoDB是一款高性能、无模式的文档型NoSQL数据库,适用于高并发、海量数据、高扩展性场景。适用于社交、游戏、物联网、物流、视频直播等应用,擅长处理数据量大、读写频繁、事务要求不高的业务。支持BSON格式,灵活存储复杂数据,提供丰富查询、索引、分片和副本集功能,实现高效读写与水平扩展,相比MySQL可大幅降低开发运维成本。
06 | RPC 实战:剖析 gRPC 源码,动手实现一个完整的 RPC
本讲通过剖析gRPC源码,实战实现RPC框架。以HelloWorld为例,讲解如何通过Protocol Buffer定义接口、生成客户端与服务端代码,深入分析gRPC基于HTTP/2的请求发送与接收原理,揭示序列化、Frame构造、Netty传输等核心机制,帮助读者将理论知识落地为代码实践。(238字)
Java基础 One Trick Per Day
初始化Map应避免默认容量导致扩容开销,推荐Guava或手动计算;禁用Executors创建线程池,防止OOM,应显式定义ThreadPoolExecutor参数;Arrays.asList返回不可变列表,禁止修改操作;遍历Map优先使用entrySet或forEach提升性能;SimpleDateFormat非线程安全,建议用ThreadLocal或Java8新时间API;并发更新记录需加锁,推荐乐观锁配合version控制。
MongoDB相关概念
MongoDB是一款高性能、无模式的文档型数据库,适用于高并发、海量数据、高扩展性场景。广泛应用于社交、游戏、物流、物联网及视频直播等领域,擅长处理数据量大、读写频繁、事务要求不高的业务。支持丰富的查询语言和多种索引,具备高可用、水平扩展、自动故障转移等特性,是应对Web2.0时代数据挑战的理想选择。(238字)
详解时钟轮在 RPC 中的应用
本文介绍了时钟轮机制及其在RPC框架中的应用。针对定时任务常见的线程过多和CPU浪费问题,时钟轮通过时间槽和分层结构,减少无效扫描,提升性能。广泛应用于请求超时、启动超时、定时心跳等场景,有效优化高并发下的资源消耗。
高性能检索系统中的设计漫谈
本文系统梳理了高性能检索系统中的四大核心设计思想:索引与数据分离、减少磁盘IO、读写分离和分层处理。通过典型案例对比与深入分析,揭示其本质原理与适用场景,并总结通用实践经验,帮助开发者在实际系统设计中更好地应用这些思想,提升系统性能与可维护性。(238字)