微服务之 EShop on dapr概览

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务之 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概览的主要内容,如果未能解决你的问题,请参考以下文章

微服务之 EShop on dapr概览

利用Service Fabric承载eShop On Containers

Blazor+Dapr+K8s微服务之开发环境调试

通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存...

Blazor+Dapr+K8s微服务之服务调用

通过Dapr实现一个简单的基于.net的微服务电商系统——一步一步教你如何撸Dapr之自动扩/缩容