|
|
1
6
您可以直接使用它:
避免阻塞:在两个容器中,都运行bash
此解决方案使用
|
|
|
2
3
使用简单的TCP套接字将是我的首选。只有当测量结果表明,我们绝对需要从系统中挤出最后一点性能时,我才会回到系统、管道或共享内存中。 从问题陈述来看,进程似乎受到本地CPU/mem资源的约束,限制因素不是外部服务。在这种情况下,让生产者和消费者在同一台机器上(作为docker容器)可能会先绑定CPU资源,然后再执行其他操作——但我将首先进行度量。 开发代码的大部分精力都花在维护代码上。所以我倾向于主流做法。TCP协议栈有着坚实的基础,它尽可能地优化了性能。还有更多(完全?)可跨平台和框架移植。通过TCP进行通信时,同一主机上的Docker容器不会触网。如果某一天进程确实达到了资源限制,您可以通过在物理主机上拆分生产者和消费者来横向扩展—手动或使用Kubernetes。在这种情况下,TCP将无缝工作。如果您永远不需要这样的吞吐量,那么在进程间通信中也不需要系统级的复杂度。 通过TCP。 |