我需要验证并向参与的服务器发送反馈.我们如何在处理程序代码中添加Netty请求代码channel.write()


  1. 我正在为一个基于Netty的通知服务器编码,它通过RPC每秒从服务器(a)接收数百个消息缓冲区,然后在检查有效性(验证包括检查标记ID及其值)后将其发送到Http实时服务器。如果验证不成功,系统需要将错误反馈发送回服务器(A),并附上错误代码。我打算在处理程序中编写验证逻辑,但如果发现消息无效,我们如何让处理程序发送反馈?

  2. 我们是否可以将数据库代码也包含在处理程序中,这样我就可以将特定于验证的详细信息持久化到数据库中?添加这个DB代码会影响Netty的性能吗?如果是,在处理程序中使用数据库(插入)代码的更好方法是什么?有人能给我指路吗?我可以在Executor中编写DB代码吗?

如果我问的问题太基本,请原谅。我还在学习阶段。

让我试着回答这些问题。

1) 我认为无论您是想发送ERROR还是SUCCESS响应都无关紧要。只需使用Channel.write(..)来写入它,并有一个编码器来处理对ChannelBuffer的编码。这里没有区别

2) 您应该在前面添加一个ExecutionHandler,以确保数据库调用不会阻塞IO线程。参见[1]。

[1]http://netty.io/docs/stable/api/org/jboss/netty/handler/execution/ExecutionHandler.html

最新更新