我正在编写一个基于Netty的Notifying Server,它从服务器(A)通过RPC接收消息缓冲区数百秒,然后在检查后将其发送到Http实时服务器有效性(验证包括检查标签ID及其值)。如果验证不成功,系统需要使用错误代码将错误反馈发送回服务器(A)。 我打算在处理程序中编写验证逻辑,但是如果发现消息无效,我们如何使处理程序发送反馈?
我们是否可以将数据库代码也包含在处理程序中,因此我可以将验证特定的详细信息保存到数据库中?是否会添加此数据库代码会妨碍Netty性能?如果是,那么在处理程序中使用数据库(插入)代码的更好方法是什么? 请有人能指导我吗?我可以在Executor中编写数据库代码吗?
如果我问一个太基本的问题,请原谅我。我还处于学习阶段。
答案 0 :(得分:0)
让我试着回答这些问题。
1)我认为你想发送ERROR或SUCCESS响应并不重要。只需使用Channel.write(..)编写它,并拥有一个可以处理ChannelBuffer编码的编码器。这里没有区别
2)您应该在前面添加一个ExecutionHandler,以确保您的db调用不会阻止IO-Thread。见[1]。
[1] http://netty.io/docs/stable/api/org/jboss/netty/handler/execution/ExecutionHandler.html