随着城市化发展的速度越来越快,互联网以及互联网与传统水务行业相融合所产生的智能远传水表产品的使用日益增多,这就给互联网后台服务应用程序提出了更高的性能和并发要求。目前开发的后台服务应用程序中数据采集系统主要以基于TCP/IP协议的Socket编程技术构建。本文主要结合水表行业实际项目经验,阐述我是如何设计和开发一个高并发、高性能、高可用的网络通信框架。
关键字:水表 高可用 Socket 框架
Socket服务器主要用于提供高效、稳定的数据处理、消息转发等服务,它直接决定了前台应用程序的性能。
Socket通信从技术上分为客户端和服务端,目前客户端主要为无线远传集中器、有线远传集中器、单个物联网终端水表,实际上客户端在单微机上都只有一个Tcp客户端在连接。服务端Tcp连接包含长连接和短连接共存,随着用户量以及设备量的增加,一个高可用的Socket服务端技术的实现是非常重要的。
直入主题,介绍我们的Socket通信服务框架,从架构上分为:网络层、业务层、数据层,其中在网络层增加了消息队列,在业务层加入业务抽象类处理不同的业务类型,在数据层引入SQL消息队列以及缓存数据库。具体如图: