簡體   English   中英

FIWARE orion 中的實體在一段時間后消失

[英]Entities in FIWARE orion disappear after some time passes

我從https://fiware-tutorials.readthedocs.io/en/latest/time-series-data.html教程創建了一個項目,只是更改了實體名稱和類型,一切正常。 但是一段時間后(通常是一天),Orion 中的所有實體都消失了(盡管 Quantumleap 中的數據仍然存在),我無法使用以下命令獲取實體屬性:

curl -X GET \
  --url 'http://localhost:1026/v2/entities?type=Temp'

問題是什么? 教程項目有什么限制嗎?

這些教程是作為 NGSI 的介紹而編寫的,而不是作為一個健壯的架構解決方案。 這個想法只是為了讓一些“快速而骯臟”的東西在開發人員的機器上運行起來,並且已經采用了各種捷徑。 事實上, docker-compose文件都包含以下免責聲明:

警告:不要將此教程配置直接部署到生產環境

教程 docker-compose 文件尚未針對生產部署編寫,因此無法擴展。 犧牲了適當的架構以使敘述集中在學習目標上,它們僅用於將所有內容部署到單個 Docker 機器上。 所有 FIWARE 組件都在完全調試下運行,並且已經公開了額外的端口以允許直接調用服務。 它們還包含各種明顯的安全漏洞——明文密碼、沒有負載平衡、沒有使用 HTTPS 等等。

這一切都是為了避免需要多台機器,生成證書,加密機密等,純粹是為了可以讀取單個 docker-compose 文件作為示例進行構建,而不是直接使用。

部署到生產環境時,請參閱 FIWARE 組件的 Helm 存儲庫,以便擴展到適當的架構:

見: https://github.com/FIWARE/helm-charts/

也許這里回答您的問題最相關的因素是,通常沒有卷持久性- 教程在可能的情況下自行清理,以避免不必要地將數據留在用戶的機器上。

如果您在連接到 Orion 時丟失了所有實體數據,我的猜測是 MongoDB 數據庫由於某種原因已退出並重新啟動。 由於故意沒有設置持久卷,這意味着所有以前的實體在重新啟動時都會丟失。

關於如何保持卷和修復此行為的解決方案可以在本網站上另一個問題的答案中找到 - 例如:

    version: "3.9"
    services:
      mongodb:
      image: mongo:4.4
      ports:
        - 27017:27017
      volumes:
        - type: volume
          source: mongodb_data_volume
          target: /data/db
    volumes:
      mongodb_data_volume:
        external: true

暫無
暫無

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

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