1、如何把net.Conn 保存在redis里?
因为现在我有个tcp服务端,给设备去用的,部署了分布式,所以设置连接服务器 是随机的 可能是A服务器 可能是B服务器
然后我之前是把conn保存在map里的 但是 这样A服务器跟B服务器 map不能相互读到
我的一个流程是 设备通过TCP连接到我的服务器 假设端口为8081 我的App也长连接我的服务器 8081 只是发送的内容不一样,我需要的是当我app发送一条指令 能发给指定设备。
求大神们 帮帮忙 或者有好的方法
像channel说的,将设备ID和连接的服务器地址关联起来存到所有服务器都能访问到的Redis里面,当某台服务器收到某个app连接发来的请求时,先看请求里面的设备ID在不在本进程的设备ID和Conn对象关联的map里面,不在的话查Redis获取设备ID对应的服务器地址,然后将请求转发给该服务器处理,HTTP,grpc都可以
#7
更多评论
问题是标识我是可以做 现在就是用map来保存这些连接 tcp句柄的 但是服务器不同 好比我APP端请求服务器要求设备告诉我数据,app发送消息给服务器 ,服务器再发给设备 ,设备收到回应后 返回数据时跑到了另一台服务器
#2