插件真的很簡單。基本上,這是供應商使用Heroku的計費系統配置一些您可能會覺得有用的「附加」服務的一種方式。
以Heroku Postgres爲例。這是最流行的插件。作爲一個應用程序的Heroku用戶,如果您運行heroku addons:create heroku-postgresql
命令,這裏發生了什麼:「提供一個Heroku的數據庫,我」
- 的API請求從你的筆記本電腦送到Heroku的說
- Heroku獲取此API請求,並將其轉發給插件提供程序(在這種情況下爲Heroku Postgres)。
- Heroku Postgres獲取預設API請求以及您的Heroku應用程序名稱,爲您提供一個新數據庫,然後在您的Heroku應用程序(
DATABASE_URL
)中設置一些環境變量。
- 從這一刻起,Heroku將開始爲您的Heroku Postgresql插件計費(取決於您選擇的計劃以及您使用它的時間長短)。
- 每個月,Heroku都會爲您的應用程序和您的插件收取費用,並向插件供應商支付他們的費用。
主要的好處是用插件,而不是去一個數據庫供應商的網站直接購買的數據庫,然後創建自己的環境變量是這樣的:
- 統一結算。 Heroku向您收取您在一張信用卡上使用的所有服務。這很容易跟蹤很多公司。
- 您可以使用Heroku的支持系統與您使用的所有供應商進行交互。這使獲得支持變得更簡單。
- 您始終保證只支付您使用的費用。如果您提供Heroku插件,然後在10秒後將其刪除,則只需要10秒的使用時間。如果您直接從供應商那裏購買數據庫,他們通常會以不同的方式向您收費,而這些方式通常對您而言更爲昂貴。
要查看完整的插件API,你可以看看這個鏈接:https://devcenter.heroku.com/articles/add-on-provider-api
一般情況下,插件只是供應你可能已經在使用你的應用程序非常有用的服務的一個很好的便捷方式。
它們不提供任何安全優點或缺點。他們完全中立。將它們視爲一種便利因素,它們根本不會影響帳戶安全性等。
好的,有趣。所以你告訴我的是Heroku沒有在內部託管postgres DB(這正是我所設想的)? 您可能知道Heroku的內部部分(如果有)嗎?我假設有一個DNS - 它不止於此? – NotAnAmbiTurner
不! Heroku插件都是獨立的實體。每個人都是獨立的提供者。 Heroku本身恰好運行了幾個插件,但它們遵循完全相同的規則 - 沒有什麼特別的。 – rdegges