簡體   English   中英

如何組織 Java Lambda Handler 項目

[英]How to organize a Java Lambda Handler project

我最近開始使用 Java 開發 AWS Lambda,我需要了解如何正確構建這樣的項目。

我應該只為所有 lambda 函數創建一個項目,還是應該為每個函數創建一個項目?

我目前正在關注前者,並在一個項目中創建了 10 個 lambda 函數。

為了更快的冷啟動、更少的依賴和更小的內存占用,我避免使用 Spring Boot 和 Spring,但 .jar 大小已經是 20 MB。

我是否遵循正常模式,或者如何改進我的項目結構(見圖)?

在此處輸入圖片說明

說明:我已將所有處理程序放在一個項目中,當然 AWS 會為每個函數指向不同的處理程序。

我還想問,將它們放在一起是否是好的設計,或者我應該為每個 lambda 擁有不同的項目/模塊。 例如:deleteUser、disableUser 等。

請指導我開始。

在此處輸入圖片說明

謝謝

所有 Lambda 函數的一個項目應該沒問題,因為最后需要將 Lambda 函數配置為其各自的處理程序。 檢查這個類似的 stackoverflow 線程。

在 jar 中創建多個 Lambda 函數(Java)是否可行

對於應用程序內存占用,嘗試部署 Lambda 應用程序並檢查冷啟動時間和內存占用,因為這兩個將在一定程度上決定您的 Lambda 成本。

像 spring-boot 這樣的框架往往會導致更長的啟動時間。您可以考慮其他替代方案。

  1. 如果您的應用程序邏輯足夠簡單,請避免使用任何框架,只使用核心 java。

  2. Spring Cloud Function - 您可以將其視為用於開發 serverles 應用程序的 Spring Boot 版本(當然還有很多)

    https://spring.io/projects/spring-cloud-function

  3. 試試Quarks,因為它們聲稱內存占用和應用程序啟動時間要少得多。

    https://quarkus.io/

暫無
暫無

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

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