|银行烟囱式系统难题,如何通过应用集成方式来解决?( 六 )


采用消息传递实现系统间的协作和通信 , 有助于集成人员选择不同的消息传递方式 , 如把消息广播给多个接收者 , 或把消息路由给多个接收者之一 , 有助于将集成设计与应用开发分离 , 以及流量的削峰填谷、解决最终一致性问题等 , 是一种兼顾了性能、可靠性和松耦合的一种理想集成方式 。
消息路由:指消息发送者不知道消息发送到哪里 , 它可以将数据发送给一个消息路由器 , 由它将数据转发给适当的接收者 。
异步处理是消息传递的主要应用场景之一 。 当业务或流程处理过程发送一个消息时 , 通信双方不需要同时在线等待 , 任何一方只需各自处理自己的业务 。
举些生活里的例子:
比如在打电话的时候 , 我们是期望被呼叫的一方能够实时响应 , 如果不在或者忙的话 , 发起呼叫的一方只能干等 , 一旦超过时间会自动结束 。 就好比系统中的多个应用通信时 , 一个应用的失败引发所有其他应用也失败 , 这就是系统的健壮性不够 。
再如发送手机短信 , 发送消息之后可以准确的送达到对方 , 无需保持等待状态 。 接受短信的一方 , 等空闲时会进行回复 。 就类似系统中的异步处理 。 能降低系统响应时间 , 提高系统性能和吞吐量 , 而且由于异步处理在不同的服务间 , 可以隔离服务 , 避免雪崩 。
|银行烟囱式系统难题,如何通过应用集成方式来解决?
本文插图

从技术平台的开发人员来说 , 实现消息传递方式的细节有一定的学习曲线 , 意识到比远程过程调动更慢 , 但同时也会促使他们设计出高内聚和低耦合的组件;对应用开发人员来说更加灵活 , 同步或异步都能通过消息接口完成具体内容的发送和接受 。
在分布式架构中 , 消息传递只是作为消息中心基础技术组件的功能之一 。 高流量、高并发、分布式的情况下 , 消息可能会产生积压、延迟或丢失 , 导致一致性难以保证 , 那么就需要消息中心辅助业务补偿机制 , 保证最终一致性 。
目前业内有多个主流消息中心产品 , 从实现消息中心的开源技术来看 , 典型的有RabbitMQ , ActiveMQ , RocketMQ , Kafka , 网上有很多资料可以参考 。 还没细看 , 有时间再研究研究 。
好了 , 就先聊到这儿 , 希望对各位有所帮助 。
> > > >
参考资料

  • 阿里巴巴.《云栖大会》,2020年
  • 笨鸟儿.《应用系统间数据传输方式总结》,2018年
  • monkey01.《传统银行架构变迁》,2017年
  • 网络.《几种企业应用集成方式的比较》,2017年
  • 王汉明.《银行信息系统架构》,2015年
  • 美国侯珀.《企业集成模式》,2006年
作者丨代堂鸣
来源丨小代嘚吧嘚(ID:xiaodaitalkshow)
dbaplus社群欢迎广大技术人员投稿 , 投稿邮箱:editor@dbaplus.cn
2020 DAMS中国数据智能管理峰会即将于10月30日在上海举办 , 部分精彩议题先睹为快: