服务框架介绍
Version 1.1
2013-7-2
目 录
1 背景..................................................................................................................3
2 服务治理需求.....................................................................................................3
3 服务框架概述.....................................................................................................4
3.1 服务框架是什么.........................................................................................4
3.2 服务框架能做什么.....................................................................................5
3.3 可用版本..................................................................................................5
4 服务框架架构.....................................................................................................5
4.1 服务框架特性............................................................................................6
5 服务框架依赖.....................................................................................................7
5.1 必需依赖..................................................................................................7
5.2 缺省依赖..................................................................................................7
5.3 可选依赖..................................................................................................8
6 服务框架配置.....................................................................................................9
6.1 XML 配置.................................................................................................9
6.1.1 配置项目及其关系..........................................................................10
6.1.2 配置覆盖规则................................................................................11
6.2 属性配置................................................................................................12
6.2.1 映射规则.......................................................................................12
6.2.2 覆盖策略.......................................................................................13
6.3 注解配置................................................................................................13
6.4 API 配置.................................................................................................14
7 服务框架用法...................................................................................................17
8 服务框架成熟度................................................................................................18
8.1 功能成熟度.............................................................................................18
8.2 策略成熟度.............................................................................................19
9 服务框架性能...................................................................................................22
1 背景
随着企业信息化的发展,应用的规模不断扩大,常规的垂直应用架构已无法应对,分
布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
2 服务治理需求
大规模服务化之前,应用可能只是通过 RMI 或 Hessian 等工具,简单的暴露和引用
远程服务,通过配置服务的 URL 地址进行调用,通过 F5 等硬件进行负载均衡。
(1) 当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点
压力也越来越大。
此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。
并通过在消费方获取服务提供方地址列表,实现软负载均衡和 Failover,降低对 F5
硬件负载均衡器的依赖,也能减少部分成本。
(2) 当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应
用之前启动,架构师都不能完整的描述应用的架构关系。
这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。
(3) 接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少
机器支撑?什么时候该加机器?
为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,
作为容量规划的参考指标。
其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程
中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以
机器数反推总容量。
3 服务框架概述
3.1 服务框架是什么
分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA
服务治理方案。
其核心部分包含:
• 远程通讯:提供对多种基于长连接的 NIO 框架抽象封装,包括多种线程模型,序列
化,以及“请求-响应”模式的信息交换方式。
• 集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载
均衡,失败容错,地址路由,动态配置等集群支持。
• 自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地
址透明,使服务提供方可以平滑增加或减少机器。
3.2 服务框架能做什么
• 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没
有任何 API 侵入。
• 软负载均衡及容错机制,可在内网替代 F5 等硬件负载均衡器,降低成本,减少单点。
• 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服
务提供者的 IP 地址,并且能够平滑添加或删除服务提供者。
3.3 可用版本
目前稳定版本为 2.4 系列的 2.4.10。
4 服务框架架构
节点角色说明
Provider:暴露服务的服务提供方。
Consumer:调用远程服务的服务消费方。
Registry:服务注册与发现的注册中心。
- 1
- 2
前往页