本文將快速向您展示如何使用最近更新的Eclipse MicroProfile API構建微服務。
Eclipse MicroProfile最近得到了很多關注,包括最新版本1.2,以及一些新增功能。本文是一個使用MicroProfile API構建微服務的快速教程。
MicroProfile由JavaEE的核心技術構建而成:
* JAX-RS 2.0
* CDI 1.2
* JSON-P
為了使微服務更適合云計算時代的需要,新版本不僅添加了一套規范,同時還包括:
* 配置管理
* 容錯
* 指標
* 健康檢查
* JWT授權
這些規范組成了Eclipse MicroProfile 1.2,這是API的第三個版本。那么應該如何使用呢?由于這只是一個規范,所以您需要檢查供應商的特定需求。在大部分情況下,用戶將繼續像使用JavaEE一樣部署WAR文件。首先,將MicroProfile依賴項添加到您的項目中。
Maven:
Gradle:
這個依賴項引入了構建應用程序所需的所有API,但是,用戶可能需要參考服務器的運行以了解是否需要其他依賴項。那么典型的服務是什么樣的呢?
1. 一個JAX-RS控制器。由于公開了REST API,所以需要一個控制器來處理API調用。
2. 某種服務。需要一些支持組件來生成或使用數據。
3. 監測。幫助掌握這個服務被調用的頻率,以及每個請求需要多長時間。
4. 可配置性。希望以聲明方式進行,而不是客戶端指定數據量。
5. 安全。需要聲明性和業務邏輯驅動的安全性,以了解如何響應請求。
6. 容錯。關心消耗的任何服務,并確保可以快速舍棄或恢復。
首先是看起來非常熟悉的rest控制器:
進一步深入服務,可以看到可配置性的體現:
接下來,假設想處理書籍的創建和出版過程。支持的服務可能如下所示:
最后,如果管理作者是一個單獨有界的上下文,那么可以將其表示為一個離散的服務,可以從客戶端到該遠程服務器來檢查作者是否存在。
本教程使用了一些rest控制器、服務和一個用Eclipse MicroProfile構建的微服務來管理書籍。