MASA Framework - 整体设计思路

本文介绍了MASA Framework的设计思路,源于对.Net技术栈和分布式系统的需求。Mecha作为MASA的一部分,提供通用、可配置的组件,支持多种架构。设计目标包括降低学习成本、对扩展开放、适应不同行业需求和保证稳定性。文章详细阐述了Mecha的特性、设计概念以及当前进展,还提供了MASA.EShop示例项目,展示如何在实践中运用MASA Framework。

源起

年初我们在找一款框架,希望它有如下几个特点:

  1. 学习成本低

    只需要学.Net每年主推的技术栈和业务特性必须支持的中间件,给开发同学减负,只需要专注业务就好

    个人见解:一款好用的框架应该是补充,而不是颠覆或过度创新

  2. 对扩展开放

    可以按照业务需求任意调整依赖实现,而不被捆绑在一个架构思路上

  3. 功能强大却不限制架构,从单体到SOA再到微服务都可以适应

    因为一个系统中总有复杂的也有简单的,最好能全面覆盖我们的业务场景

  4. 行业不限

    既能支持传统行业的业务特殊性,又可以支持互联网行业的高并发特性

  5. 稳定性

    有严格的测试标准,用起来更安心

契机

在我们做技术选型的时候,对Dapr的研究越深入,对我们想要做的事情就越清晰

站在Dapr的设计上我们找到了一个平衡点,Mecha

可以看下这篇文章(Mecha:将Mesh进行到底):https://skyao.io/talk/202004-mecha-mesh-through-to-the-end/

Mecha的特性

  1. Mecha是通用的,高度可配置的,可重用的组件,提供分布式原语作为现成的能力
  2. Mecha 可以与单个Micrologic组件一起部署(Sidecar模式),也可以部署为多个共享(注:我称之为Node模式)
  3. Mecha不对Micrologic运行时做任何假设。它与使用开放协议和格式(例如HTTP/gRPC,JSON,Protobuf,CloudEvents)的多语言微服务甚至单体一起使用
  4. Mecha以简单的文本格式(例如YAML,JSON)声明式地配置,指示要启用的功能以及如何将其绑定到Micrologic端点
  5. 与其依靠多个代理来实现不同的目的(例如网络代理,缓存代理,绑定代理),不如使用一个Mecha提供所有这些能力

换个角度看Mecha

  1. Mecha提供的是能力,不论是单体还是分布式

  2. Mecha与服务之间交互是有开放API标准的

  3. Mech

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值