簡體   English   中英

是否可以在一台Memcached服務器上運行同一應用程序的多個實例?

[英]Is it possible to run multiple instances of the same application with a single memcached server?

我在dockerized應用程序和Memcached上存在存儲某些值的問題,顯然,當啟動一個運行Spymemcached客戶端的新Docker實例時,存儲在緩存中的所有數據均無效,因此如果我以前存儲了一些值在節點1的緩存上,然后啟動節點2,這些值從Memcached服務器中清除,最后,如果再次在節點1上存儲相同的值並在節點2上查詢它們,則將在兩個節點之間共享它們而不會清除數據。 這是預期的行為嗎? 我應該為每個客戶端實例使用Memcached服務器嗎? 還是可以將同一個Memcached服務器實例共享給多個客戶端,而不會丟失存儲的數據?

您可以與多個客戶端共享同一memcached實例。

您只需要為Node1,Node2和memcached創建不同的docker容器。

在同一容器網絡上創建它們。 一個示例docker-compose.yml

version: '2'
services:
   node1:
     image: <your-image>:latest
     network:
       main:
          aliases:
             - node1
  node2:
     image: <your-image>:latest
     network:
       main:
          aliases:
             - node2
  memcached:
     image: memcached:latest
     network:
       main:
          aliases:
             - memcached
network:
   main:

我將Memcached客戶端庫從Spotify遷移到了Folsom,並解決了我的問題。 出於對Spymencached的好奇,我提到的問題僅在客戶端在Windows計算機上運行時才會發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM