Fork me on GitHub

单体应用 适合采用 dapr 构建吗?

缘起今天在微信群里有同学问 ”纯.net 项目,有必要上dapr吗?” 

image

当时不假思索的说不是微服务没必要,其他群友也说没必要。下午细想了一下,觉得这个和微服务没有关系,如果我的应用是个单体架构(将所有功能都部署在一个web容器中运行的系统就叫做巨石型应用),但是它却用到了分布式中间件,比如缓存、消息队列,Actor模型呢,这些分布式中间件的标准化API 正是Dapr的价值所在。

看我前两天写的文章 为什么 Dapr 如此令人兴奋 第二点,Dapr利用Sidecar的模式,把代码中的一些横切关注点需求(Cross-cutting)分离和抽象出来,从而达到运行环境的独立对外部依赖(包括服务之间)的独立.  横切关注点需求是无论单体还是微服务都需要处理的问题。

image

总之,Dapr 解决了分布式中间件的依赖问题,上层所有的语言和下层所有的基础设施,通过一层层统一的接口进行抽象。不管用 Redis Stream 还是 Rabbit MQ,对上层业务是无感的,它会给上层业务一个统一抽象的 API ,而且是 HTTP 或者 gRPC 这样的一个企业的 API 。开发人员不再关心底下到底是什么,进一步地让开发人员和下面进行解耦。

posted @ 2021-10-15 21:34  张善友  阅读(1320)  评论(1编辑  收藏  举报