企业服务总线ESB之交易流水
来源:互联网 发布:淘宝网天猫商城童装 编辑:程序博客网 时间:2024/05/16 17:04
流水信息的记录是企业服务总线中非常重要的一个环节,其有两个核心的作用:
交易过程中问题的排查和跟踪;
冲正交易的执行;冲正是银行里特定的词汇。实际就是如何保证分布式事物的一致性。
这里面首先技术问题需要解决,在大交易量情况下,海量流水记录的问题。我们先做一个假设,某行日均交易量为五千万笔,80%的交易集中在4个小时完成,TPS基本要3000,每笔交易如果按照记两笔流水的话,流水报文大小假设为30K,大约1S是180M。
同步记流水,会大大影响ESB的性能。所以这里需要考虑异步去记流水,把流水信息发送到对应的消息队列,然后起多个流水应用去收取流水信息,然后插入数据库。这是发现插库有成为了瓶颈,这时考虑先起线程池去收取队列上的消息,然后写到本地文件,然后读的线程池从本地文件读取后,写入数据库,当写成功后,删除对应文件,写失败后,记录进失败文件。
通过以上调整,整体性能有了较大提高,但是TPS还是有落差,综合分析后,网络IO和磁盘IO还是存在瓶颈,所以在同一物理机部署的情况下,可采用共享内存的方式,做了修改后,通过压测,性能还是没有提升,发现Java的共享内存坑爹的只有映像文件的实现,所以还是有磁盘IO。采用C实现共享内存,JNI调起的方式,进行共享内存的验证,正在验证中。
分布式一致性的问题,一般原子交易的一致性,交易系统本身会保证。当使用总线进行组合交易时,交易的轨迹和流水信息只有总线知道,这时候总线需要保证组合服务的一致性,这时候总线负责发起调度,调用对应的冲正服务,保证交易的一致性。
0 0
- 企业服务总线ESB之交易流水
- 企业服务总线ESB
- ESB企业服务总线
- 企业服务总线ESB
- ESB企业服务总线
- ESB企业服务总线
- ESB 企业服务总线
- ESB企业服务总线
- ESB企业服务总线
- ESB企业服务总线
- ESB(企业服务总线)
- 企业服务总线ESB
- ESB-企业服务总线
- ESB企业服务总线
- 企业服务总线ESB之概述
- 什么是ESB,企业服务总线
- 关于企业服务总线ESB
- 什么是ESB,企业服务总线
- MyBatis拦截器动态修改SQL语句及参数值(场景:查询中字段值中特殊字符自动转义)
- C/C++数据对齐
- JAVA反射机制
- 分布式搜索Elasticsearch——创建客户端(一)
- mongodb insert()、save()的区别
- 企业服务总线ESB之交易流水
- C/C++ / string 字符串去掉左右空格
- Cocos2d-x教程(11)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(上)
- session中的地址重写
- 幽默
- C语法归约之表达式复合运算(4)
- Cocos2d-x教程(12)-利用遮罩(蒙版)CCLayerColor制作新手引导界面(中)
- win7 64下VS2010编译的时候出现fatal error LNK1146: 没有用选项“/out:”指定的参数终极解决方案
- mysql ignore