上一篇成功將 Nestjs 部屬到 heroku 上面,不過我們使用的是免費方案,免費方案有幾個限制:
於是這一篇要來解決上述兩個限制
uptime 是一個監控服務,可以監控你的服務目前運行的狀態,如果不正常的時候也能發出警告。
而我們可以利用 uptime 的免費額度裡面,去監控 heroku 的狀態,雖然有點弔詭,就會變成用一個免費的服務去監控另一個免費的服務確保他不會休眠
設定的方法也很簡單,在uptime 新增一個監控後,輸入 heroku API 的位置之後,在設定監控的頻率。以這個例子而言,設定每15分鐘打一次網站的請求,如果網站有回應,就會被視為運作中。
而heroku 也因為每15分鐘都有來自 uptime 的請求,所以不會進入休眠模式
增加機器運行的時間其實沒有什麼特別厲害的技巧,就是綁定信用卡,綁定信用卡可以增加額外500小時的免費運行時間,這樣總共有1000小時左右的免費運行時間。
如果只有一個服務在運作的話,這樣的免費時間已經超過一個月的時間了,也可以達成機器使用時間永遠不會超過,也不必擔心被額外收費
請問heroku API 的位置是網址嗎?
對的,所以你可以寫一個專門喚醒,沒做什麼事情的API,不斷去戳他就可以了
之前不知道在那裡看過,免費版好像一天一定要休息幾個小時,不知道現在是不是
不是,是你每個月總執行時間有一個限制,超過之後就不能用了。但是你的服務如果30分鐘沒有人使用,會自動休眠,如果下一個人要使用,喚醒會需要一點時間,所以要一直去戳他,假裝一直有人在用