大型并发网络通信系统设计,需考虑哪些方面
这个要考虑的内容还是比较多的,主要包括以下几点:
1、网络整体拓扑结构,主要是要分析整个系统所涉及的网络是单纯网络还是跨多个不同网络,在跨网的分布式系统中,安全性、吞吐量、稳定性都是需要关注的设计。
2、对于通信的定义,整个系统到底要通讯哪些内容,这些内容有什么特点?如各系统之间采用XML做载体,各系统之间交互的信息量有多大,实时性要求有多高,对事务的要求有多高等。
3、对于整个系统的数据库有何要求?如数据库存储量?数据库IO吞吐量?各系统哪些是以录入数据为主哪些是以查询统计为主,职能不同设计思路也不同。
4、在一个复杂的多网络并发通讯中,首先要调研整个系统并发基数是什么?依照不同的数据量级,还要考虑相应的硬件体系结构,如集群式的怎么进行部署,如果有采用云平台,那么云对通讯的要求是什么?
5、所有信息通讯过程中,是留痕还是不留痕差别很大,留痕可能导致中间库会变的很大,但数据安全性较高,是一旦出现通信数据丢了,排查起来比较快,适合异步通讯。不留痕通讯效率高,但是要求算法能力比较强,有超强的容错能力,适合于同步通讯。
当然真的要分析还有很多需要考虑的,要讲可能不是三言两语能搞清楚的,重要的还是要根据你所在的系统,将需求搞清楚,在需求的基础上,分析每个需求点的实现方式,对每个需求点提出至少三个解决方案,进行对比,找出最佳设计。组合起来每个需求点的设计,就是你总体架构的设计,然后再进行总体分析,必要的时候要组织一些中级以上水平的程序员做一些演练和性能测试。否则一切都是空谈!
多重随机标签