一种可以实现高并发且能够自由扩展的数据收发系统技术方案

技术编号:20182027 阅读:28 留言:0更新日期:2019-01-23 02:09
一种可以实现高并发且能够自由扩展的数据收发系统。本发明专利技术使用Nginx实现负载均衡,在收到数据之后根据算法分配给TCPServer,TCPServer使用Netty开源框架接收数据,根据接收到的数据提取出其中的对应客户端的唯一识别码,将唯一识别码和发送该数据的IP以键值对的形式,存到缓存数据库Redis中;同时将数据推送到kafka消息队列。本发明专利技术用于数据收发系统。

A Data Transmitting and Receiving System with High Concurrency and Free Expansion

A data transceiver system that can achieve high concurrency and free expansion. The invention uses Nginx to realize load balancing, after receiving data, it allocates the data to TCP Server according to the algorithm, TCP Server receives data using Netty open source framework, extracts the unique identification code of the corresponding client according to the received data, stores the unique identification code and the IP sending the data in the form of key-value pairs in the cache database Redis, and pushes the data to Kafka for cancellation. Interest queue. The present invention is applied to a data receiving and receiving system.

【技术实现步骤摘要】
一种可以实现高并发且能够自由扩展的数据收发系统
:本专利技术涉及一种可以实现高并发且能够自由扩展的数据收发系统。
技术介绍
:随着计算机技术与网络技术的发展,无论是事务处理还是系统集成都已从集中式向分布式过渡,目前广泛使用的分布式计算是客户机/服务器计算模式,也称为C/S(Client/Server)模式。客户机负责与用户交互,服务器负责处理计算;客户机/服务器模式有广泛的应用前景,目前国内外许多软件公司正在开发客户机/服务器模式的网络中间件产品。随着日益增长的用户,需要一个能实现高并发、且能够自由扩展的数据收发系统,以满足高并发的需求,并确保数据的稳定性。没有用框架使得开发难度较高。收发和解析性能都较差,不支持大量终端同时接入,也不支持自由扩展;对于收到的粘包数据,对其分包处理的不完善,会有丢包的情况发生。
技术实现思路
:本专利技术的目的是提供一种解决了性能不足,能够彻底的解决粘包数据分包的问题的一种可以实现高并发且能够自由扩展的数据收发系统。上述的目的通过以下的技术方案实现:一种可以实现高并发且能够自由扩展的数据收发系统,使用Nginx实现负载均衡,在收到数据之后根据算法分配给TCPServer,TCPServer使用Netty开源框架接收数据,根据接收到的数据提取出其中的对应客户端的唯一识别码,将唯一识别码和发送该数据的IP以键值对的形式,存到缓存数据库Redis中;同时将数据推送到kafka消息队列。所述的一种可以实现高并发且能够自由扩展的数据收发系统,解析server监听消息队列中TCPServer发送的数据,一旦其中有数据,将其取出进行解析;并根据不同的数据给出不用的应答,将应答存入消息队列中去;TCPServer监听消息队列中解析Server的数据,监听到后将其取出,提取出应答数据的唯一识别码,根据唯一识别码去缓存数据库Redis中取出之前存入的唯一识别码对应的IP,将应答数据发送到对应的IP上。有益效果:1.本专利技术使用了开源框架进行开发,解决了开发难度高的问题;同时由于使用了框架,解决了性能不足,不支持大量终端的接入,大量数据的接收等高并发问题;在发送来的数据无异常的情况下,能够彻底的解决粘包数据分包的问题。本专利技术将收发和解析分开,解决了无法自由扩展的问题;能够实现高并发且能够自由扩展的数据收发系统。本专利技术能够有效的解决开发难度,降低开发的时间成本和人力成本;同时使用了开源框架,性能得到了极大的优化,能够支持更多的终端接入。本专利技术将使用开源框架接收数据,接收数据和数据处理业务分离,中间使用消息订阅服务,服务器能够自由扩展。附图说明:附图1是本专利技术的数据收发系统架构图。具体实施方式:下面将结合本专利技术的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。实施例1:一种可以实现高并发且能够自由扩展的数据收发系统,使用Nginx实现负载均衡,在收到数据之后根据算法分配给TCPServer(传输控制协议),TCPServer使用Netty开源框架接收数据,根据接收到的数据提取出其中的对应客户端的唯一识别码,将唯一识别码和发送该数据的IP以键值对的形式,存到缓存数据库Redis中;同时将数据推送到kafka消息队列。解析server(服务器)监听消息队列中TCPServer发送的数据,一旦其中有数据,将其取出进行解析;并根据不同的数据给出不用的应答,将应答存入消息队列中去;TCPServer监听消息队列中解析Server的数据,监听到后将其取出,提取出应答数据的唯一识别码,根据唯一识别码去缓存数据库Redis中取出之前存入的唯一识别码对应的IP,将应答数据发送到对应的IP上。实施例2:实施例1所述的一种可以实现高并发且能够自由扩展的数据收发系统,其中,开发使用的netty框架可以换成flume,消息订阅服务kafka可以替换成RabbitMQ(手册),负载均衡服务可以换成分布式框架dubbo。本文档来自技高网...

【技术保护点】
1.一种可以实现高并发且能够自由扩展的数据收发系统,其特征是: 使用Nginx实现负载均衡,在收到数据之后根据算法分配给TCPServer,TCPServer使用Netty开源框架接收数据,根据接收到的数据提取出其中的对应客户端的唯一识别码,将唯一识别码和发送该数据的IP以键值对的形式,存到缓存数据库Redis中;同时将数据推送到kafka消息队列。

【技术特征摘要】
1.一种可以实现高并发且能够自由扩展的数据收发系统,其特征是:使用Nginx实现负载均衡,在收到数据之后根据算法分配给TCPServer,TCPServer使用Netty开源框架接收数据,根据接收到的数据提取出其中的对应客户端的唯一识别码,将唯一识别码和发送该数据的IP以键值对的形式,存到缓存数据库Redis中;同时将数据推送到kafka消息队列。2.根据权利要求1所述的一种可以实现高并发且...

【专利技术属性】
技术研发人员:闫方超朱道伟邓莹
申请(专利权)人:天津布尔科技有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1