1、面向交易的服务平台什么是交易类系统 交易(Transaction)?在国内银行应用中 中间业务、银行卡、网银属于交易类系统 CRM、信贷不署于交易类系统 到底什么是交易类系统,它的主要特征是什么?交易类应用=组合应用(Composite Application)Garnter将 SOA 应用分为:新应用 组合应用(Composite Application)后端集成应用交易应用(Composite Application)最大的特点:在不确定的世界交付确定的服务Servlet 3.0 以前的处理模式不适合交易系统意味解决方案接入、逻辑处理、接出隔离,不同处理分别对待渠道管理通道管理核心服务容器
2、数据库连接线程池通信连接池处理器实例池数据上下文TCP渠道HTTP渠道WTC渠道其他服务路由交易服务事件服务StepStepStepStepTCP通道HTTP通道MQ通道其他通道路由资源申请客户端客户端客户端客户端外联系统外联系统外联系统外联系统SEDA:分阶段事件驱动特点逻辑分段段之间基于队列/消息通信资源分配超量请求资源配额请求积压基于队列有策略丢弃外部不稳定异步通知消息框架 Channel使用Java内存队列或者 外部持久化队列 多种类型的Channel DirectChannel PollableChannel SubscribableChannel PriorityChannel E
3、xecutorChannel 消息编程不等于使用JMS消息框架(2):Spring Integration 一些接口public interface PollableChannel extends MessageChannel Message receive();Message receive(long timeout);ListMessage clear();public interface SubscribableChannel extends MessageChannel boolean subscribe(MessageHandler handler);boolean unsubscr
4、ibe(MessageHandler handler);public interface MessageChannel String getName();boolean send(Message message);boolean send(Message message,long timeout);服务容器 容器具有三种形态 具备输入输出 只有输入 只有输出 容器提供基本能力 资源管理 超时管理 流量控制 其他.服务路由与分组 路由的定位 通过已经定义规则,将指定服务的消息发送到相应服务容器的requestChannel 主要特征 支持远程路由与本地路由两种情况 默认支持根据服务码范围、服务类
5、型两种路由规则 一个服务容器实例可以 配置多个规则 对于不支持的规则,可以通过扩展方式支持路由分布式框架路由规则请求Channel服务元数据监听根据服务码得到服务定义根据服务定义和路由规则得到目标地址服务容器远程调用本地调用服务路由与分组(2)申明式定义路 由规则 支持扩展方式定义 基于消息内容的路由 trans_server1 TRANS_SERVER test policy1 test policy1 com.primeton.btp.route.test.TestMatcher1 服务路由与分组(3)-分布式调用框架 具体实现协议可替换,默认采用 Http 方式 提供同步、异步两种调用模
6、式 发送和接受的是Message,Message Header 保存远程调用的路由信息渠道路由表调用端负载均衡器接受端交易Server1httphttphttp分布式框架JettyJetty 默认交易服务器 默认的交易服务器 -1 5 20 1000 资源管理 两类资源 服务性资源 对象资源 资源控制 在各自的定义中声明 在容器的定义中声明 使用时从资源管理器申请资源管理组件ResourcePoolResourceResourcePoolFactoryResourceFactorycheckout/checkin*处理器(Handler)数据库连接Socket队列TCPCH0011000tru
7、e505016055050600超时管理组件超时管理 在服务定义上、服务容器上可以定义超时时间 执行前加入超时管理 执行完成以后推出超时管理 超时发生,通知服务进行处理 默认服务执行超时,向服务请求方发送超时消息 可以自定义超时处理TimeoutResourceTimeoutManagerTimeoutTimerTaskonTimeoutadd/remove服务之前之后加入移除*流量控制 特点 每个容器可以设置通过的最大流量 超过最大容量,直接打回请求 最大流量依赖资源管理 队列大小 线程大小 连接大小 最大流量依赖监控框架 当前并发数 当前的资源使用率(例如:内存使用率)监控数据同步模式开发,异步模式执行,提高开发效率 一般用于 对外部系统的请求 对不稳定服务的请求 对耗时较长服务的请求 关键实现 异步请求,保存当前状态 异步请求,释放当前处理资源 请求完成,利用回调机制进行断点重入核心系统客户信息系统ECIF信贷管理系统事务完整性事务完整性基于Sagas模型的全局事务p每个交易步骤均支持正反操作p外部访问支持反交易调用p支持实时的事务回滚滚p支持定时的冲正补偿事务集补偿事务集public interfaceinterface ILocalProcess public void execute(xxx);public void cancel(xxx);总结