负载均衡算法
负载均衡算法包括随机、轮询、最小活跃数、源地址哈希和一致性哈希等。随机适用于性能一致的服务器,可加权重升级为加权随机;轮询按顺序调用,支持加权分配;最小活跃数优先选择负载低的服务器;源地址哈希确保同一IP请求固定服务器;一致性哈希减少节点变动对整体影响,提升稳定性。
9、Tomcat优化
Tomcat优化需综合JVM、线程池、网络等多方面。本文以SpringBoot 3.2.3为例,重点解析线程池与网络配置:`max-connections`设最大连接数,`accept-count`控队列长度,`threads.max/min-spare`管线程池大小,默认NIO模式适用于Linux。结合JDK21虚拟线程可进一步提升性能,SpringBoot 3.2.x原生支持,低版本可通过替换线程池实现。
第十章 常用组件1、nginx相关
正向代理是客户端通过代理访问外部服务器,隐藏客户端身份,用于访问受限资源或保护隐私;反向代理则是服务器前的代理,接收客户端请求并转发至内部服务器,隐藏真实服务器,实现负载均衡、安全防护与缓存加速,提升系统性能与安全性。
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池满导致服务不可用的常见成因及应对策略。涵盖数据库慢查询、热更新、DDL锁表、连接池配置不当等典型场景,并深入分析Dubbo、HTTP、Druid、Redis等连接池的超时控制与资源管理要点,强调fast-fail理念、流控背压与谨慎重试的重要性,助力开发者规避常见陷阱,提升系统稳定性。
需求开发人日评估
本文介绍敏捷开发中工时评估的关键方法,以“人日”为单位,结合开发、自测、联调、测试及发布各阶段,提供常见需求的参考工时。涵盖单表操作、Excel导入导出、跨服务调用等场景,并给出天机学堂实际案例,助力团队科学规划迭代周期。(238字)
优雅关闭:如何避免服务停机带来的业务损失?
本课讲解RPC中“优雅关闭”的重要性,避免服务重启导致调用方请求失败。通过添加关闭钩子、设置请求挡板、引用计数器及超时机制,确保正在处理的请求完成,新请求被拒绝并安全重试,实现业务无损上下线。
需求开发人日评估
本文介绍敏捷开发中关键的工时评估方法——人日估算,涵盖开发、自测、联调、测试及发布各阶段的时间分配,并提供常见需求如增删改查、Excel导入导出、跨服务调用等的参考人日,助力团队科学排期。
网络通信:RPC 框架在网络通信上更倾向于哪种网络 IO 模型?
本讲深入探讨RPC框架中的网络通信机制,重点分析常用网络IO模型。由于RPC调用本质是服务消费者与提供者间的网络数据交换,因此高效IO模型至关重要。常见的IO模型有BIO、NIO、IO多路复用和AIO,其中IO多路复用因支持高并发、节省资源,成为RPC框架首选,如Netty基于Reactor模式实现,广泛应用于Java体系。