Ktor 是 JetBrains 以 Kotlin 語言開發的輕量級 Web 微框架,由於 Ktor 並沒有內建整合 Web 框架常具備的 DI 及 ORM,對於那些追求輕量化而不想使用 Spring Boot 全家桶的人而言,可能又覺得太過於簡化,只適合開發簡單的小型服務。在這30天中,我會先整合 DI, ORM, Redis Client,並自行實作 i18n, OpenAPI 文件產生器, RBAC for APIs 等功能來增強 Ktor,再以此為基礎,開發2個可各自獨立建構部署的子專案,包含了使用者登入驗證、訊息通知服務…等功能,示範如何使用改造後的 Ktor 來開發網站後端服務
自從微解封之後,現在「微XX」已經成為流行語,原來 Web 後端流行的「微服務」架構已經超前部署好幾年了(誤!)。相對於微服務熟為人知,「微框架」這個詞就沒這麼...
近年微服務架構興起,對於規模較小的開發團隊而言,一開始就拆分為多個微服務是個沉重的負擔,所以大多還是從單體式架構 monolithic 出發,往後再逐步拆分為微...
Ktor Module Ktor Module 可以用來組織程式碼,本身僅是一個 Application 類別的 extension function,讓 se...
以往 Gradle 只能使用 Groovy 語言撰寫 Script,因為我對 Groovy 不熟,所以大多從 Google 尋找到解法後,再複製貼上稍作修改解決...
Ktor 的架構設計及開發風格是我所喜歡的,但相對地使用 Ktor 開發也要付出代價。因為 Ktor 以 unopinionated 的原則進行設計,所以很多功...
在 Java 的世界中,有很多種 json library 任君挑選,其中最多人使用的應該是 Jackson 及 Gson。我過往都是使用 Jackson,因為...
昨天提到如何使用 kotlinx.serialization 處理 request/response json data,今天進一步延伸說明如何在 deseri...
Ktor Plugin & DSL Ktor 的架構設計是讓開發者透過實作 plugin,把 intercepting function 註冊到 req...
Web 框架提供 API 讓開發者讀取設定檔是基本的必備功能,以 Spring 框架為例,從最早只支援 XML 格式,到現在可以使用 java-based co...
各種 Graceful Shutdown 的作法 一個穩定的服務必須要考慮當停止服務時,已經接受的 request 必須要處理完才行,否則輕則使用者會收到伺服器...