我们有一个进行数据处理的C ++ Web服务,而DB是Cassandra。
Web服务读取请求并分叉子进程并执行操作。
我们需要集合Cassandra连接和cassandra文档说,如果会话,集群和密钥空间相同,驱动程序可以汇集连接。
为此,我们在服务启动之前创建了连接,并在分叉子项中使用它。但是,在fork中,连接没有响应。
代码剪断是这样的:
void Service_Ready_Handler()
{
// Do the DB connection here
connectCassandra();
}
void ServiceHandler(session, request)
{
// fork the child and do the process
if ( fork() == 0 ) // child
{
// fetch the data from DB for the request
// do the additional process
// prepare the response and write to parent
}
// if the child is done, send the response
}
然而,连接工作正常,但是"取出"数据部分悬空,根本没有提供任何信息。 我们不能通过Cassandra连接(会话和集群)吗? 为Cassandra汇集连接的另一个选项是什么?
提前感谢您的支持。
谢谢,