<p>I have a situation to which I can find no easy solution and I am looking for some common solutions to this issue.</p>
<p>I have a deployment with three pods doing simple CRUD operations with some HTTP resources. Now if first client POSTs a new resource to one of the pods and second clients posts a GET to some other pod shortly aftwerward, how can I make sure that second client gets the resource from another pod?</p>
<p>This resource is held abstract on purpose, as this problem can appear both with Restful and with database-stored resources ( when application internal caching is used )</p>

<p>Well, you need to share 💾 something if you want the pods to know it at the same time. Some options:</p>
<ul>
<li><a href="https://kubernetes.io/docs/concepts/storage/volumes/" rel="nofollow noreferrer">Shared volume</a>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Network_File_System" rel="nofollow noreferrer">NFS</a></li>
<li>Shared block storage (<a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes.html" rel="nofollow noreferrer">EBS</a>, Google Persistent Disk, etc. depends on where you are running 🏃)</li>
<li><a href="https://ceph.io/" rel="nofollow noreferrer">Ceph</a></li>
<li><a href="https://www.gluster.org/" rel="nofollow noreferrer">Glusterfs</a></li>
<li>...</li>
</ul>
</li>
<li>Cache
<ul>
<li><a href="https://redis.io/" rel="nofollow noreferrer">Redis</a></li>
<li><a href="https://memcached.org/" rel="nofollow noreferrer">Memcached</a></li>
<li>Another DB</li>
</ul>
</li>
<li>Distributed K/V Stores
<ul>
<li><a href="https://zookeeper.apache.org/" rel="nofollow noreferrer">Zookeeper</a></li>
<li><a href="https://etcd.io/" rel="nofollow noreferrer">etcd</a></li>
<li><a href="https://www.consul.io/" rel="nofollow noreferrer">Consul</a></li>
</ul>
</li>
</ul>
<p>You can run all of the above in Kubernetes or separately as long as your pods have network connectivity to these options.</p>
<p>✌️</p>
