Feign远程调用
本章介绍如何用Feign替代RestTemplate实现更优雅的HTTP跨服务调用。通过引入Feign,解决服务地址硬编码、代码可读性差等问题,结合注册中心实现基于服务名的调用。讲解了Feign的使用方式、自定义配置(如日志级别)、连接池优化(如Apache HttpClient),并总结了继承与抽取两种最佳实践,推荐将Feign客户端抽离为独立模块,提升代码复用性与维护性。
负载均衡算法
随机权重算法在随机选择基础上引入权重,性能更优的机器被选中概率更高。轮询按顺序调用服务器,加权轮询则根据权重分配调用次数,如权重[3,1]对应调用序列AAABA。最小活跃数将请求发往负载最低的服务器,实现动态均衡。源地址哈希通过IP哈希确保同一IP始终访问同一服务器。一致性哈希将节点与请求映射到Hash环,节点变动仅影响邻近节点,保障高稳定性。(239字)
6.什么是API网关
API网关作为微服务架构的统一入口,负责请求路由、协议转换、鉴权、限流、熔断降级等功能,简化客户端与后端服务的交互,提升系统安全性与可维护性。常见实现有Kong、Soul、Zuul等。
1.入门运行Soul
Soul 是基于 WebFlux 构建的响应式 API 网关,支持 Dubbo、Spring Cloud 等多种协议,具备高性能、异步、跨语言特性。提供插件化架构,支持热插拔、动态配置、A/B 测试与蓝绿发布,集成鉴权、限流、熔断等丰富插件,适用于微服务网关场景。
负载均衡算法
本文介绍了多种负载均衡算法:随机、加权随机、轮询、加权轮询、最小活跃数、源地址哈希及一致性哈希。适用于不同场景,如性能均等或差异机器、动态负载调整、请求粘性等,提升系统稳定性与资源利用率。(238字)
4.Soul数据库设计
该插件采用数据库设计,存储插件、选择器、规则及其匹配条件的配置数据。通过UML类图展示表结构,明确 plugin、selector、rule 三大核心模块关系:一个插件对应多个选择器,一个选择器对应多个规则和匹配条件,各规则处理逻辑以JSON格式存于handle字段。
3.Soul网关接入与验证
本章节在前两章基础上引入Soul网关,讲解如何将Provider和Consumer应用接入Soul。通过添加依赖、使用@SoulSpringMvcClient注解及配置文件实现服务注册,并验证网关路由与通信功能,完成Dubbo与HTTP服务的统一管理。
2.搭建dubbo-zk应用
基于Spring Boot 2.2.2与Dubbo 2.0.0,构建ZooKeeper注册中心的分布式服务架构,实现Provider与Consumer模块解耦通信,完成接口远程调用验证。
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池满导致服务不可用的典型场景与根因,涵盖数据库慢查询、连接池配置不当、超时设置缺失等问题,结合真实案例剖析并提出fast-fail、流控、背压等防护策略,助力开发者提升系统稳定性。
需求开发人日评估
本文介绍敏捷开发中工时评估的关键方法,以“人日”为单位,结合开发、自测、联调、测试及发布各阶段,提供常见需求如增删改查、Excel导入导出、跨服务调用等的参考人日,助力团队科学规划迭代周期。