我需要编写与 3 种类型的客户端交互的服务器应用程序:桌面应用程序、移动应用程序和 Web 前端。最大并发连接数为 2 或 3 千。大概的交换格式:
桌面应用程序(用 Python + PyQt 编写)
a) 客户端:数据请求服务器:数据响应
b) 服务器:通知客户端:确认
移动应用程序(安卓):
a) 客户端:发送数据服务器:确认
b) 服务器:通知客户端:确认
网页前端:
a) 客户端:数据请求服务器:数据响应
数据是来自 SQL 的选择,包含订单信息、客户信息、gps 数据等。我计划使用 json 进行数据序列化,但我不太明白应该选择哪个底层协议和扩展。在前端的情况下,我想使用 Tornado 并实现 RESTfull api。我知道,它也可以用于其他类型的客户端,但是使用 Tornado 实现服务器到客户端的消息传递是个好主意吗?也许用 ZeroMQ(或其他消息系统)或使用原始 TCP 套接字来实现这个更好?郁金香怎么样,我应该用它代替龙卷风吗?