我的动力
我很想用 FUSE 写一个分布式文件系统。在我开始之前,我仍在设计代码。它可能用 C 或 Go 编写,问题是,我如何并行处理网络 i/o?
我的问题
更具体地说,我希望我的文件系统在本地写入,并让一个线程异步处理网络开销。在我的情况下是否稍微延迟都没关系,我只是想避免缓慢写入文件,因为代码必须在某处联系一些慢速服务器。
我的理解
我脑子里有两个想法冲突。一是FUSE内核模块使用我程序的ABI劫持进程,调用我实现的具体FUSE函数名(sync or async, w/e),二是..程序正在运行,阻塞到从内核模块接收事件(我不认为是这种情况,但我可能是错的)。
不管是什么,这是否意味着我可以简单地启动一个线程并做网络工作?我对它的工作原理有点迷茫。谢谢。