我下面说的通讯都是基于TCP/IP协议。目前在银行做开发、业务、管理也有一年多了。今天总结一下通讯方式的种类,同时也把自己的一点心得写下来与大家分享。
我接触过的通讯总体上来说,无非就两大种类,第一是长链、第二是短链。
先说说长链通讯方式,长链里面也分同步、异步方式。可能大家感觉长链里面用同步的比较少,确实是这样的,以前接触过一个期货交易系统,通讯前置就是用长链同步做的,也就是说请求/应答模式。对客户端来说,发出一笔请求报文后,等待对应的应答报文;而对于服务端来说,顺序从取出请求报文,应答完后,处理下一笔。客户端应答的快慢绝大部分取决于服务端处理的速度,因为还有一部分网络通讯的时间。比如现在上海证券交易所处理所得能达到16000笔/秒。之所以能达到这样快的速度是因为交易的过程中,与数据库不通讯,完全在内存撮合。因为要与DB通讯就有IO,而IO所花费的时间是内存的1000倍。可能大家会说,交易的中间过程中没有保存进DB数据,万一掉电,那岂不是内存数据就都会丢失?是的,交易的过程中,如果没有安全的机制保证,很可能数据丢失。内存撮合的时候是在内存里面构建了一个内存数据库。既然叫内存数据库,就具备数据库的特性。比如提交的事物丢失可恢复。这块我比较熟悉,如果有人感兴趣,可邮件沟通windowschenxi@16