服务管理框架

使大型分布式系统大型服务化之后足高可用及低运营成本,新的系统架构需要满足以下条件:

1. 服务管理框架需要具备的功能

1.1. 容错性

failover:客户端容错支持,并支持自动失效探测及恢复调用;
failfast:快速失败。很多远程服务调用是在关键路径中,它可以容忍失败,但是不能容忍堵塞;
failback:故障恢复。能够快速定位错误,进行reset来尝试恢复。

1.2. 中心化的运营管理


【部署】动态启用及停用服务及节点:可以动态启动及停用服务(热发布);
【配置】配置及推送功能:所有client在同一时刻配置的一致性,并且client会跟配置中心保持长连接;
【性能及可用性】负载均衡策略:支持round robin,least active, consistent hash,或者基于脚本的动态路由策略。这个都是由配置中心来控制;
【监控】访问统计及动态运行参数查看:可以对方法级别进行访问统计及实时观察;

1.3. 开发支持

跨语言:支持client能使用常见主流语言来访问;
零侵入:架构对调用方式和具体业务逻辑透明;
版本管理:同一服务可以有不同的版本并存;
可测试:对自动化测试友好;

2. 适用场景

垂直搜索爬虫:有利于降低爬虫运营成本,提升爬虫抓取性能的可伸缩性;
核心业务平台:降低开发和运营成本,优化服务的健壮性和稳定性;

猜你喜欢

转载自jackguo1123.iteye.com/blog/1497735