這個系列文章記錄了我在研究如何開發 Linebot 功能時,遇到的各種技術挑戰,在經過踩雷的過程後,將其解決過程整理成筆記。
文章內容基於開發需求和學習深度有所調整,但涵蓋了構建一個可運行且具擴展性的 LINE Bot 所需的基本知識。 無論是想快速上手開發,還是深入探索某些技術細節,本系列都能提供一些指引,來解決可能會遇到的技術關卡。
介紹組成 LINE Bot 後端架構的各個元件、使用的技術,以及背後的設計考量。
說明如何開發 LINE Bot,包含使用者訊息的傳遞流程、訊息種類、以及回應方式。
介紹如何在 AWS EC2 上進行程式執行環境的配置,讓開發者能輕鬆連線並維護服務。
首先會介紹AWS在Serverless技術上提供的服務: AWS Lambda ,包含觸發方式,以及如何透過AWS CLI部署自己開發的Lambda Function程式。
將使用 Node.js 開發事件接收器並在 AWS Lambda 上運行。
介紹作為此Project 訊息佇列(Message Queue) 的Apache Kafka,說明其重要角色和如何使用 Docker 將 Kafka 部署到 EC2,並讓 Client 連接 Kafka broker。
講解 MongoDB 的基礎概念、認證方式,並示範如何在 EC2 上部署 MongoDB Docker Container,讓 Client 進行遠端連線。
本篇從 Spring Boot 的核心觀念之一: 依賴注入(Dependency Injection) 的實作方式開始,包含建置與執行方式、序列化/反序列化,以及如何在 Spring Boot 中開發 MongoDB Service、Kafka Consumer,和回應 LINE Client 的訊息。
介紹 OpenAI 在摘要與分類等功能上的應用,並說明如何在 Spring Boot 的後端服務中,使用 OpenAI 的 Java Library ,來透過OpenAI理解 Client 端訊息的語意。