使用 Netty4遇到的几个疑问

服务器上使用 Netty 作为socket 长连接的服务器.
遇到几个问题, 已经纠结了好一段时间, 今天提出来. 希望能够被大家启发下.

  1. 接收服务使用 Netty 接收设备的报文消息. 如果要做到推送, 那么就需要将 Channel 存起来在需要推送的时候拿出来写数据进去. 可是 Channel 怎么缓存呢? 尝试了很多方法, 没有办法存到 redis 中去. 目前是直接放在 map 中的. 其他模块如果需要使用 Channel, 就访问接收服务提供的接口, 这样增加了系统耦合性. 而且本来接收服务就是一个可执行的服务, 不需要放在 web容器中, 现在为了提供接口, 就需要对外开放 api 接口.

  2. Netty 默认是异步的, 可以搞成同步的么. 服务器发出去的报文, 同步等待下返回.

另外, 各个服务之间使用 RPC 连通好点还是用 REST API?
dubbo 用 RPC, SPRIGN CLOUD 推 REST API.

阅读 2.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进