事件 – 面向微服務課程:Spring Boot,Kafka和Elastic

事件導向微服務:春季靴子,kafka和Elastic

使用Spring Boot,Spring Cloud,Kafka和Elasticsearch

掌握了事件面向事件的微服務的體系結構

你好!我叫約翰·史密斯。我在這裡幫助您學習面向事件的微服務的體系結構,該微服務將最佳實踐用於現實生活中的挑戰。

重要更新:本課程使用個性化數據源。在本課程中,您將專注於微服務的開發。借助微服務,您可以開發並獨立部署應用程序的組件。您還可以根據每個服務的資源需求輕鬆擴展服務。

通過從整體應用遷移到微服務體系結構,由於應用程序和系統的分佈,將出現一些挑戰。在本課程中,您將學習如何使用Apache Kafka使用面向事件的體系結構(EDA)來應對這些挑戰。

與事件為導向的建築:
– 您將真正反對服務並創建彈性服務,因為服務與其他服務沒有直接的通信。
– 您將使用服務之間的異步/非封鎖通信。
– 您將使用事件/狀態存儲(KAFKA)並刪除服務狀態,以更好地可擴展性。

在本課程中,您將使用最新的平台,技術,庫和工具來開發零微服務架構,遵循最佳實踐,應用微服務標準,並使用Java,Spring Boot,Spring Boot,Spring Cloud,Spring Cloud, Spring Security,Kafka和Elasticch。我們還將使用KAFKA作為事件存儲來解決事件採購和麵向事件的服務。

您將實現的微服務模式是:
– 帶有彈簧雲配置的外部配置
-CQRS與Kafka和Elasticsearch
– REST API版本的API版本
– 註冊和發現Spring Cloud和Netflix Eureka的服務
– 帶有彈簧云網關的API網關
– 帶有彈簧云網關的斷路器和彈性4J
– 春季云網關和Redis的費用限制將Redis用作費率限制器
– 使用SLF4J MDC,彈簧雲偵探和Zipkin分佈式跟踪
– 與堆棧麋鹿(Elasticsearch,Logstash和Kibana)的日誌聚合
– 客戶側負荷與彈簧雲負載平衡
– 通過服務數據庫
– 使用kafka之間的微觀服務之間的使者
-Spring Security Oauth 2.0和OpenID連接協議,用於使用KeyCloak和JWT的身份驗證和權限

您將集中精力的另一個重要主題是微服務監視。您將使用帶有千分尺的春季啟動演員和Prometheus,可用於獲取諸如健康,線程數量,請求數量,響應時間和內存使用等指標。您還將學習如何使用圖表創建一個宜人的面板,以查看使用Spring Boot Actor和Prometheus獲得的指標。

通過介紹以事件為導向的微服務,您將了解Apache Kafka的基礎知識,向Kafka主題,Kafka分區,消費者API和Kafka,Kafka管理客戶端和AVRO消息的生產商講話。

對於微服務之間的通信,除了使用Kafka Messenger外,我還將介紹Kafka流,並向您展示如何使用Kafka流來創建使用累積的流數據創建臨時狀態存儲。此臨時數據源將由另一個微服務消費。

為了與微服務中的數據庫進行通信,我將使用不同的春季數據設施,例如帶有PostgreSQL,Spring Data Elasticsearch和Spring Kafka的Spring Data JPA。

對於API文檔,我將使用Open API 3規範,該規範實現了Swagger 3.0。 Open API將為API創建一個安息的接口,並幫助您輕鬆開發和消耗API REST。您還將學習如何在春季Hateoas API中使用Hateoas(HyperMedia作為應用狀態的發動機)。 Hateoas將提供有關服務器上資源的鏈接,並使用這些鏈接更新REST API響應,以與客戶動態交互。這將允許開發3級REST API。

本課程中還有一個反應性開發部分,展示了用反應性彈簧,WebFlux,Webclient和Reactive Thymeleaf的Elasticsearch的反應性任命。在本節中,您將學習如何使用Spring Webflux和Spring AxeDive組件在微服務之間創建異步流。

您將使用Spring Boot和Spring Cloud以及Docker開發Ready -Made Microservices。 Docker是一個容器化平台,允許容器中的包裝應用程序。這些容器可以稍後在Docker運行的任何環境中執行。在本課程中,您將創建開發的微服務的Docker圖像。然後,使用Docker Composis以及其他依賴項一起執行所有微服務容器,例如Kafka,Elasticsearch,KeyClaak,Redis,Prometheus,Graphana和Zipkin。最後,一個“ Docker-Compose”命令將足以執行整個微服務體系結構以及必要的設施。擁有這些Docker映像將使您可以輕鬆地將應用程序實現到任何云提供商。

您將遵循一種實用的方法,並從頭開始開發一個項目,在那裡您將擁有幾個微服務,這些微服務被多個模塊包圍以執行特定的任務。因此,您將需要在本課程中弄髒手,我將在這裡從頭到尾進行指導。您還將在每個部分中找到多項選擇問卷,以檢查整個課程的進度。

在課程結束時,您不僅將了解具有各種服務和組件的分佈式應用程序的真實生活挑戰,而且還可以將解決方案應用於這些挑戰。您可以單獨下載每個類中的源代碼,並使用IDE或Docker輕鬆運行它。

有關本課程進度的更多詳細信息,您可以檢查介紹性視頻和免費課程,並決定參加本課程,您可以隨時在問題和消息傳遞部分中詢問並討論實現的概念和詳細信息。我將從頭到尾指導您,以幫助您成功完成課程,並獲得本課程的盡可能多的知識和經驗。

Scroll to Top