Aspire 框架预览版发布,使云原生开发和运维更加简单
随着 .NET 8 的发布,.NET Aspire 也随之发布,这是一个全家桶框架旨在加快基于云的应用程序的构建。.NET Aspire 从一开始就集成了关键组件,例如遥测和运行状况检查。它还承诺提供无缝的本地开发人员体验,该体验可以有效扩展以满足云应用程序开发的需求。Microsoft 鼓励对 .NET Aspire 预览版(目前在 GitHub 上提供)提供反馈。

Aspire 包含了 2020 年首次发布的名为 Project Tye 的早期实验中首次使用的元素,尽管 Project Tye 是为 Kubernetes 设计的,而 Aspire 没有做出这种假设,Aspire 也是。Project Tye 在首次发布时受到欢迎,但在最近的一年几乎没有活动。毫无疑问的是社区开发人员都很想知道Microsoft是否会兑现承诺, 随着.NET 8的发布,Aspire继承了Tye 的最新状态。根据 .NET 团队的首席项目经理 Glenn Condron 的说法,它将在 2024 年春季全面上市,距离现在只有六个月的时间,昨天发布的是第一个预览版。
Aspire 将成为 .NET 8 的一部分,第一个版本是v8.0.0-preview.1.23557.2。完整的工具支持位于最新的 Visual Studio 预览版 17.9 预览版 1 中,这意味着必须使用 Windows 进行开发,尽管 Linux 和 Mac 用户可以在没有某些开发人员工具的情况下使用它。
当前的Aspire预览版面向Visual Studio和Azure,很多人的第一感觉就是面向Azure搞的一个东西,不过他其实也包含了Dapr的支持,因此Aspire 可以支持Dapr 的所有平台,而不是局限于Azure 这样的微软平台。
初学者 Aspire 应用程序示例包括 Blazor Web 应用程序、后端 API 和 Redis 缓存。解决方案中添加了两个 Aspire 项目,一个名为 AppHost,它作为分布式应用程序的一部分运行任何 .NET 项目,另一个名为 ServiceDefaults,它提供包括服务发现、遥测和运行状况检查终结点在内的功能。包括一个开发人员仪表板,其中列出了服务、收集和显示日志,并显示了应用程序各部分的指标和跟踪。
遥测基于用于创建和管理遥测数据的 Open Telemetry 项目,然后可以将这些数据传递给各种工具。Open Telemetry 得到了大约 40 家供应商的支持,包括 Grafana、Splunk、New Relic、Datadog 和 Dynatrace 等熟悉的名字,以及 Jaeger 和 Prometheus 等开源项目。
Aspire 应用程序的部署旨在基于容器。Aspire 可以生成一个清单来定义应用程序中不同服务之间的关系,然后工具可以使用该清单进行部署。Microsoft 提供与 Azure 容器应用程序的集成,“在一个步骤中立即配置和部署 Azure 资源,”Condron 写道。
现有应用程序可以添加 Aspire 支持,前提是它们已升级到 .NET 8。然后,在 Visual Studio 中,开发人员可以添加 Aspire Orchestration Support,这会将 AppHost 和 ServiceDefaults 项目添加到解决方案中。

Aspire 支持组件,其中每个组件都必须默认提供弹性、运行状况检查和遥测,并与依赖项注入集成,这是一种向应用程序添加服务的技术,通常用于 .NET 应用程序。Condron 以 Redis 组件为例,该组件通过一次调用 AddRedis 来添加 Redis 缓存,从而创建可以根据需要覆盖的默认配置。

初始组件集包括 PostgreSQL、RabbitMQ、Redis、SQL Server、Azure Blob 存储、Azure Cosmos DB、Azure Key Vault、Azure 服务总线和 Azure 存储队列。数据库组件附带Entity Framework和普通客户端版本,其中Entity Framework是标准的 .NET ORM(对象关系映射)库。
它为云原生应用程序提供仪表板,可用于查看日志和指标、分布式跟踪、依赖项等。

通过仪表板,您可以列出已分发的服务并显示日志。 它显示一个红色圆圈表示有问题的服务,使人们更容易了解云原生分布式应用程序的状态。

此外,“跟踪”功能允许对一组服务如何处理用户操作进行分布式跟踪。

Aspire 框架预览版发布,使云原生开发和运维更加简单的更多相关文章
- sql server 2014预览版发布
MSDN发布sql server2014预览版,如下图: SQL Server 2014新特性: 微软SQL Server部门主管Eron Kelly介绍,通过将交易处理放到内存中进行,新的SQL S ...
- PHP专业开发IDE——Zend Studio 10.5预览版发布
Zend Studio是新一代的PHP IDE,高效的开发和维护PHP代码是它的核心.Zend公司目前已发布了Zend Studio 10.5预览版,预览版中提高了快速响应能力和时时误差检查.因此使用 ...
- Window 7 平台的IE11浏览器预览版发布
继之前Windows 8.1 带来了IE11浏览器之后,今天Window 7 以及Windows Server 2008 R2平台的IE11浏览器预览版也已经发布. 当然这还只是一个开发者预览版,可能 ...
- VS2019预览版发布了
VS2019正式版已发布:https://www.cnblogs.com/zhaogaojian/p/10648904.html 1.点击下载https://visualstudio.microso ...
- HarmonyOS 3.0.0开发者预览版全新发布
2021年10月22日在华为开发者大会HDC.Together 2021 主题演讲上,我们发布了HarmonyOS 3.0.0开发者预览版,主要内容包括:Harmony设计系统.ArkUI 3.0.A ...
- 终于等到你!微软正式上线 Windows Terminal 预览版
前一段时间,一直在知乎.技术社区收到技术小伙伴们的终极拷问:微软Build 大会上提到的**6月中旬**要上Windows store 的 Windows Terminal 到底啥时候可以用到呀? 有 ...
- CPF C#跨平台UI框架发布安卓端预览版
CPF的安卓端适配采用Xamarin的安卓绑定库,而不是Xamarin.Form.CPF和flutter差不多,完全由skia绘制,基本不依赖原生控件. 当前还只是预览版,不建议用在正式项目中. 可能 ...
- 它来了!!!有史以来第一个64位Visual Studio(2022)预览版将在今夏发布!
美国时间2021年4月19日,微软产品研发部一位负责人Amanda Silver在其博客上发布一则<Visual Studio 2022>的消息,表示将在今年(2021年)夏天发布Visu ...
- .NET 6 预览版 5 发布
很高兴.NET 6 预览版5终于跟大家见面了.我们现在正处于.NET 6 的后半部分,开始整合一些重要的功能. 例如.NET SDK 工作负载,它是我们.NET 统一愿景的基础,可以支持更多类型的应用 ...
- .NET 7 预览版 1 发布
宣布 .NET 7 预览版 1 Jeremy 2022 年 2 月 17 日 今天,我们很高兴地宣布 .NET 历史上的下一个里程碑.在庆祝社区和 20 年创新的同时,.NET 7 Preview 1 ...
随机推荐
- Linux chroot的关联操作 mount --bind
假设新的根文件系统已经挂载到 /mnt mount --bind /dev /mnt/dev/ mount --bind /sys /mnt/sys/ mount --bind /proc /mnt/ ...
- redis 中的 set
set是String中的无序集合 底层是 是 value为null 的hash表 时间复杂化是o(1): sadd k1 v1 v2 v3 set中添加数据 smembers k1 取出set ...
- TypeScript:Type 'boolean' is not assignable to type 'never'.
问题原因 当我们声明一个空数组而不显示键入它并尝试向其中添加元素时,会发生该错误. 解决方案 声明数组类型即可 参考链接 https://bobbyhadz.com/blog/typescript-a ...
- 一文详解自然语言处理两大任务与代码实战:NLU与NLG
自然语言处理(NLP)涵盖了从基础理论到实际应用的广泛领域,本文深入探讨了NLP的关键概念,包括词向量.文本预处理.自然语言理解与生成.统计与规则驱动方法等,为读者提供了全面而深入的视角. 作者 Te ...
- CVE-2022-42475-FortiGate-SSLVPN HeapOverflow 学习记录
前言 之前就想复现这个洞,不过因为环境的问题迟迟没有开工.巧在前一阵子有个师傅来找我讨论劫持 ssl结构体中函数指针时如何确定堆溢出的偏移,同时还他把搭建好了的环境发给了我,因此才有了此文. 如何劫持 ...
- Pytest 框架执行用例流程浅谈
背景: 根据以下简单的代码示例,我们将从源码的角度分析其中的关键加载执行步骤,对pytest整体流程架构有个初步学习. 代码示例: import pytest def test_add(): asse ...
- pythonapi接口怎么对接?
Python API接口对接是使用Python语言开发应用程序时,与外部API接口进行交互的一种方式.API(应用程序接口)是一种定义了程序或系统如何与另一个程序或系统进行交互的协议.通过使用Py ...
- jQuery提交表单
$('#myform').form('submit',{ url: "login.action", onSubmit:function(){ return $('#myform') ...
- 【后端面经-数据库】Redis数据结构和底层数据类型
目录 1. Redis数据类型 1.1 基本数据类型 1. string 2. hash 3. list 4. set 5. sortset/Zset 1.2 特殊数据类型 1. bitmap 2. ...
- List取指定元素
例如: List<string> list = new List<string>(); list.Take(50).ToList();//取前50条 list.Skip(10) ...