[英]Concurrency behavior of AWS Lambda
假設我有這樣的代碼。
public class MyHandler {
private Foo foo;
public void handler(InputStream request, OutputStream response, Context context) {
...
}
}
Foo foo負責創建池化數據庫連接。
我試圖了解它如何與AWS Lambda一起使用。 如果我理解正確, foo會在多個調用中共享。 第一個需要花費更多時間,因為它必須加載到容器中,后續的更快,因為foo已經初始化。 在我的處理程序在一段時間不活動后被踢出之前就是這種情況。
那么,對於順序調用,它是否會使用相同的對象,它是否可以訪問在早期函數調用中創建的/ tmp?
並行調用怎么樣? 它是否會復制整個容器,因為根據文檔,每個lambda函數應該在自己的容器,自己的資源和自己的/ tmp中執行?
如果處理程序在不活動后被踢出,是否有Java中的回調函數,我可以調用它來關閉所有打開的池連接?
那么,對於順序調用,它是否會使用相同的對象,它是否可以訪問在早期函數調用中創建的/ tmp?
是的它會使用相同的對象。 是的,它可以訪問在早期函數調用中創建的/tmp
。
並行調用怎么樣? 它是否會復制整個容器,因為根據文檔,每個lambda函數應該在自己的容器,自己的資源和自己的/ tmp中執行?
並行調用將在單獨的容器中進行。 單個容器一次只處理一次調用。 所以是的,整個容器將被復制,每個容器都有自己的/tmp
。
如果處理程序在不活動后被踢出,是否有Java中的回調函數,我可以調用它來關閉所有打開的池連接?
沒有沒有可用於處理此問題的回調。 當容器由於不活動而最終被移除時,您的功能將處於掛起狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.