微服务之 EShop on dapr概览
????歡迎點贊 :???? 收藏 ?留言 ???? 如有錯誤敬請指正,賜人玫瑰,手留余香!
????本文作者:由webmote 原創,首發于 【掘金】
????作者格言:生活在于折騰,當你不折騰生活時,生活就開始折騰你,讓我們一起加油!????????????
1. Dapr簡介
Dapr,微軟牽頭開發的分布式運行時,致力于打造一款事件驅動,可移植可擴展可構建在云端,也可構建在本地的分布式運行時。
身具服務發現、基礎設施服務代理網關、自身具有狀態管理、消息訂閱發布以及Actors,遙測等功能,實乃微服務架構之首選。
2. Eshop 示例
微軟的web應用基本都以Eshop為例來闡述自己真的可以完成搞定XXX的需求,因此這次也不例外,一個基于Dapr的微服務就擺在了我們的面前。
Eshop的業務就是線上的一個小商店,具有訂單、支付、分類、購物車等功能。
3.微服務架構
這個示例支持多種部署方案,可以使用Docker,也可以使用Kubernetes。
就讓我們來看看其架構如何?
微服務使用到了Dapr的Actors功能、狀態管理功能、服務積木功能、發布/訂閱功能、安全配置、事件綁定觸發功能,這里例子還是比較齊活的。
這套業務采用經典的前后分離方式,由前端SPA, 后端Api組成。重點在后端的架構。
后端服務統一使用Dapr管理,SPA前端訪問的是一個Api網關,網關由基礎服務Envoy構成,其和SideCar模式的Dapr功能組成前置服務。
登錄授權服務由Identity Service完成,注意其是獨立的,并未加入到Dapr服務內。主要提供OAuth授權Token。
Api網關通過Dapr,可以直接訪問主要的業務Api服務:(Basket、Catelog、Ordering、Payment),也可以訪問Api聚合服務(BFF);Api聚合服務(Web shopping aggregator)通過Dapr的訪問接口訪問聚合上游服務接口。
在上游Api服務中,其通訊協議均采用Http方式,而Dapr使用GRPC協議方式和其進行通訊,并通過Http方式和下游服務進行通訊。當然也可以配置為統一使用 GRPC協議方式。
4.項目地址
項目存放在Github,感興趣的童鞋可以拉下來運行下,因為我工作機器內存配置的問題,我并沒有把這個例子跑起來。
是的,微服務的本地調試環境是個大問題,要搭起來K8s一套,實在是讓人頭疼啊。
Dapr簡化了什么工作呢?
Dapr 使開發人員可以使用任何語言或框架輕松編寫微服務。它解決了分布式應用程序中的許多挑戰,例如:
分布式服務如何相互發現并同步通信?
他們如何實現異步消息傳遞?
他們如何在整個事務中維護上下文信息?
他們如何才能適應失敗?
它們如何擴展以滿足不斷變化的需求?
他們是如何被監控和觀察的?
項目文件結構
希望周末能運行起來它!
dapr init???? 5. 小結
例行小結,理性看待!
結的是啥啊,結的是我想你點贊而不可得的寂寞。????????????
????都看到這了,還在乎點個贊嗎?
????都點贊了,還在乎一個收藏嗎?
????都收藏了,還在乎一個評論嗎?
總結
以上是生活随笔為你收集整理的微服务之 EShop on dapr概览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET 6 的 docker 镜像可以
- 下一篇: 基于事件驱动架构构建微服务第7部分:在仓