关于.net:MASA-Stack-10-发布会讲稿-产品篇

101次阅读

共计 4395 个字符,预计需要花费 11 分钟才能阅读完成。

架构

基于 MASA 的云原生技术架构

咱们基于 MASA 去做了一个云原生技术架构,左下角的 MASA Blazor 次要是为咱们去集成一个多端的 UI 能力,具体的应用场景将在实际篇为大家介绍——MASA Blazor 如何去做多端的

接着就是集成非业务能力的 MASA Framework,它次要是解决整个云原生架构中非业务性的问题

在这两个根底上,咱们就能够去编写业务代码,业务代码实现后上传 GitHub 并公布到微服务的集群外面,而 MASA Stack 则是提供的平台治理能力

最左边的第三方系统管理是最要害的一部分,咱们第三方零碎调用是通过 Dapr 来治理,不难看到 MASA Framework 和 Dapr 有局部重叠,MASA Framework 对 Dapr 进行二次封装,既能够让大家体验相似.Net 原生操作,又能够作为适配层对 Dapr 进行替换

MASA Stack 平台架构

研发合作平台 :更多的是去帮忙大家解决在研发过程当中的一些合作类的问题

现代化利用治理平台 :次要是帮忙大家解决在利用层面的一些治理问题

可观测性平台 :解决的是一些可观测问题,在平台工程外面,帮忙大家去采集一些公共的日志、跟踪、指标、数据等等

数据开发平台 :在 MASA Stack 平台里是十分重要的一个环节,在 1.0 和 2.0 中的工作次要是作为 3.0 的基建,为 3.0 做铺垫

低代码开发平台 :解决 API 侧的编排问题,更多的还是偏开发,针对 IT 开发者,并不傻瓜化

集成平台 :解决系统集成间的一些问题

MASA Stack 性能架构

MASA Stack 的性能架构底部的内容曾经在后面介绍过,那咱们来看下下面的内容

第一局部是研发治理局部,紧接着是现代化利用开发治理,这外面能够看到比方 API 网关、利用治理这些性能。第三局部数据开发与治理,是数据开发相干的内容。最初一个是可观测性,从性能构造上来说,MASA Stack1.0 是其中的根底局部,但将来的 3.0 咱们还会持续往里面补充内容,追加新的性能,并不局限于这四个版块

设计理念

能力:单体 / 分布式皆可

配置:可配置但约定优于配置

凋谢:可二开,可对接,也能够任意替换

规范:面向 API 和 SDK 编程

组合:通过对能力的组合,造成专属平台

利用现代化

平台工程

01  价值

为了帮忙开发人员、数据科学家和终端用户,并缩小他们从事有价值工作的阻力,平台工程优化了开发者体验并减速数字交付

02  如何优化开发者体验

提供一套精心策划的工具、性能和流程。缩小开发者的认知累赘,并蕴含开发团队须要的所有,以最适宜他们的工作流程出现

反对的业务策略:创立平安的底座、减速数字化、吸引和留住人才

03  要害

先构建外部开发者门户,这是最成熟、最容易了解的平台类型。积攒的教训能够扩大到其余平台,平台必须将安全性嵌入到工作流程。全面、自动化的安全性和合规性查看作为测试套件的一部分,不要指望商业的一站式解决方案,无论如何你都须要定制它

MASA Stack 全景

MASA Stack 全景次要分为两大部分,MASA Stack 每个版本是如何交融在一起的,它们之间的关系是什么?在这张图里都有分明的展现

图中右边这一部分更贴近现代化利用局部,左边则是可观测性局部,在 MASA Stack 1.0 咱们做的更多是一些基建类的货色,为后续版本打基础

2.0 是图上红色局部,例如左下角的 Workflow;3.0 是图上不显著的灰色局部,比方左下角的 Function,这些都是正在搭建的性能,会随着版本更新逐渐实现

MASA Blazor

MASA Blazor 实用于 PC 端和挪动端,蕴含两个库,第一个就是 Blazor Component,次要提供了一个不蕴含款式的纯交互的组件库,第二个 MASA Blazor 是基于 Vuetify 一个 Material Design 的组件库

MASA Framework

Building Blocks >> 接口 & 能力 >> 提供非业务能力的接口,并提供组合多个能力造成新的能力的最佳实际

Contrib>> 实现 >> 基于构建块的接口标准提供最佳实际,可被替换实现

Utils>> 通用类库 >> 底层通用能力,可被用于业务和 Contrib

Templates>> 模板 >> 用于创立我的项目

项目管理

MASA PM 是一款底层基建项目管理产品,提供 0 - 1 初始化的局部内容。从最后的底层环境创立,部署和创立对应的集群。编辑环境与集群的组合关系,在所需要的环境集群上创立我的项目。

权限核心

MASA Auth 是 MASA Stack 中最外围的性能之一,它对立负责了所有产品的权限、菜单、用户等。它蕴含了单点登录、用户治理、RBAC3、第三方平台接入、Ldap 等企业级性能。除了能够用在企业外部管理系统,它还能够帮忙治理 C 端用户。

配置核心

MASA DCC 是 MASA Stack1.0 推出的分布式配置核心,在整个 MASA Stack 产品中负责所有零碎以及局部全局综合配置的性能。

音讯核心

MASA Stack 1.0 零碎合集中底层反对音讯发送的一款综合性产品,负责了全局音讯零碎反对多渠道的配置与音讯发送规定的配置,并且能够配置多种音讯模板以及特定用户组群。能够与关联产品 Alert、TSC 等对接,一站式解决故障问题触发与解决。

调度核心

Scheduler 是 MASA Stack 1.0 推出的一款辅助性软件产品,次要负责解决应用程序工作执行的调度,以及主动重试等相干操作。在 MASA Stack 产品中,与 MASA MC、MASA TSC、MASA Alert 3 款产品联合,施展最大的调度价值。当然 Scheduler 并不只是给 MASA Stack 产品应用,它同样能够为业务发明价值。

故障排查控制台

MASA TSC 次要负责对 MASA 整个零碎中的我的项目 / 利用进行监测来排查故障状况,其中蕴含从我的项目维度视角来查看监测的故障状况。以及溯源到具体的链路日志中去。除了能够监控整个 MASA Stack 的产品外,与 PM 进行组合应用,也能够将业务零碎接入进来对立治理。

告警核心

MASA Alert 是一款配合性产品,次要提供告警规定以及制订相干指标。它须要借助几个产品的根底性能组合来施展它的价值,比方故障排查控制台作为监测数据源,调度核心作为调度周期管制,音讯核心作为发送音讯的渠道。MASA Stack 会尽可能的复用根底性能,而不是重复性工作,所以繁多部署它将失去意义,产品联合能够施展告警核心的最大价值。

文档核心

MASA Stack 1.0 的文档将对立放在文档中心里,目前是比拟晚期的文档内容,咱们会在 1.0 前持续欠缺它

劣势

成本低 :对立技术栈、对立交互、收费

不卡脖子 :技术自主可控、云原生、开源

一站式 :网页端、桌面端、微服务、云、挪动端、IoT、ML、游戏

集成强 :平台无边界、不限度开发语言、提供 API 和 SDK

体系欠缺 :利用交付、数据治理、平安智能、畛域最佳实际

如何开始

装置 MASA Stack – Helm

介绍了那么多,那咱们如何开始应用 MASA Stack 呢?

这里咱们分为两局部进行解说,第一局部是 MASA Stack 的装置和接入

装置 MASA Stack 咱们提供了 Helm,首先须要筹备 K8s 集群,有了集群后就能够创立 namespace(这一步是可选项,也能够抉择不创立),而后创立一个 strong class(部署环境要求),部署 Dapr 搭建环境,应用 MASA Stack Helm 装置

代码也是比较简单的

helm repo add masastack https://github.com/masastack/helm
helm repo update
helm search repo masastack --devel --versions
helm upgrade --install  masastack masastack/masastack --version=xxx --namespace masastack --create-namespace --wait

尽管装置步骤简略,但实际上对 K8s 是要一些技术要求的,如果对 K8s 不是很相熟的话,门槛相对来说还是比拟的高的,之后咱们也会录制 MASA Stack 相干的装置教程视频给大家

接入 MASA Stack

如果你是.NET 用户,咱们提供了 SDK,间接接入即可

如果你是其余语言用户,咱们现阶段是没有 SDK 的,能够通过规范的 API 去对接

异构

如果你的我的项目是一个异构的,外面有不同的语言那怎么办呢?

其实能够通过 Dapr 的形式去做,如果它提供了 SDK,能够依据的原有的 SDK 去调整。如果没有,能够依照图上这个标准接口去实现对接

Windows 本地开发环境

接下来是基于 MASA Framework 的开发,首先在咱们的 Windows 本地开发环境外面,绝大数步骤都是可选的,但如果你用的是 Dapr,还是心愿能够抉择残缺的流程去开发我的项目

装置 WSL→装置 Docker→装置 Dapr,这里都是为了装置 Dapr 做筹备

筹备工作实现后就是创立我的项目,这一步能够应用咱们的模板或者从零开始都没有问题,而后须要增加 Masa.Contrib.Development.DaprStarter.AspNetCore 包,

最初一步就是在 Program.cs 增加代码

#if DEBUG
builder.Services.AddDaprStarter();
#endif

它能够帮你去治理 Dapr 的一个生命周期

基于模板创立新我的项目

基于模板创立新我的项目这一部分须要先装置 MASA 模板

dotnet new install Masa.Template

而后应用 MASA Framework Project 模板去创立我的项目,这过程中会有一些疏导,去疏导你去抉择哪些选项(右图所示),按需勾选即可,这个阶段就是咱们在自定义咱们整个我的项目的构造,最初点击创立即实现

老我的项目对接

如果是老我的项目对接怎么办?这里有四种形式可选

用的比拟多的是 HTTP,能够用 MASA Framework Caller 或者 HttpClient 去对接

第二个是 gRPC,这里须要留神的是,MASA Framework Caller(2.0)能力实现对 gRPC 的反对,现阶段应用的比拟多的 Grpc.Net.Client

最初一个就是 Dapr,咱们的 Caller 提供了 Dapr 的全汇合

这三种形式里 Caller 都呈现了,如果说你的我的项目比较复杂,可能用了不同的协定,还是更举荐 Caller,因为 Caller 是咱们的一个构建块,它是面对接口的形式去编程的,不论你对接哪一种形式,只须要调换 Contrib 包,书写形式没有特地大的区别

以上三种形式是大家比拟常见的,最初一种形式是还在开发中的 MASA Stack 2.0 集成平台,在 2.0 里,咱们会做一个集成平台,它会帮大家去接管内外的利用,HTTP、gRPC、Dapr 在咱们的集成平台外面都能够疾速接进来

扫码观看回放


如果你对咱们的开源我的项目感兴趣,无论是代码奉献、应用、提 Issue,欢送分割咱们

  • WeChat:MasaStackTechOps
  • QQ:7424099

正文完
 0