分类:
.Net技术
◆
标签:
#异步编程
#.Net
#基础
◆
发布于: 2023-06-04 18:48:24
.Net的TAP(任务异步编程模式: Task Asynchronous programming Model)为编写异步代码提供了一个更高级的抽象层,使用这个编程模式,您的完成异步任务的代码和普通的同步顺序执行的代码看起来也没有什么区别,只需要遵守约定,大部分的工作由编译器根据外部资源的分配(例如Task, 线程,内存等等)来自动完成,编译器完成大部分的工作,大部分情况下会返回一个基于Task或者Task<T>类型的返回值。在这个模型中,用户只需要使用关键字Async和Await两个语言级别的关键字来定义异步方法、调用异步方法,从而达到异步编程的目的。
在我们这篇入门文章里,先以一个日常生活的例子简要的介绍大家如何将一个任务分拆为多个异步任务,同时也介绍如何使用async和await这
Read more
分类:
.Net技术
◆
标签:
#异步编程
#.Net
#基础
◆
发布于: 2023-06-04 18:42:39
前我们有很多种工具都适合用于异步/并行编程,但是每种语言对于这个领域的支持力度各不相同,像Java的编程模型从Java7开始引入了几个基于多线程的工具,例如提供fork/join API, 预定义的线程池等等,同时需要大量的线程安全的集合以及各种原子工具以及操作,还需要了解各种锁,例如CAS锁等等,对程序员的要求非常之高,编程模型也非常困难,但是对于C# 以及对应的.Net以及.Net Core, 微软推出了更为明晰易用的方式用于异步/并行编程,例如我们即将要介绍的在语言级别的async,await关键字,以及随之引入的TAP异步编程模型,以及TPL并发编程模型,以及万不得已更为底层的基于System.Threading的Thread编程模型等等。相比较其他的语言, C#以及.Net平台提供
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 15:21:31
本章介绍如何使用模板来创建虚拟机。
使用模板
ARM(Azure Resource Template)我们前面入门文章中有给大家介绍过,可以回头再看一下,如何使用ARM模板来创建资源有两种方式:
直接使用Portal来部署模板
这种方式需要将您的模板放置在一个Azure Portal可以读取的位置,由Azure Portal直接读取,然后利用Azure Portal的UI一步一步的创建资源。可以使用浏览器用下述的格式来访问:
https://portal.azure.com/#create/Microsoft.Template/uri/{您的模板位置}
例如下面的链接:
https://portal.azure.cn/#create/Microsoft.Templa
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 15:19:03
对于微服务架构的支持,Azure也提供了多种服务,包括如下几种
Azure Service Fabric, 也是本章想介绍的服务
Azure Kubernet Service, AKS, 这个是k8s的cloud版了。
Azure Spring Cloud, 基于Java的微服务解决方案。
三种方案中孰优孰劣,相对比较起来,我还是偏向于Service Fabric和AKS, Spring Cloud限制需要使用基于JVM的工具,限制有点大,我们本章向大家介绍Service Fabric。
Azure Service Fabric提供了一个可靠的,灵活的微服务平台,可以使用该平台提供的技术编写分布式应用以及服务,可以是无状态的也可以是有状态的(Stateless and St
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 15:15:38
本节是针对需要将本地网络和Azure虚拟网络链接起来的用户,我们在本节中提供几个选项,并且分别指出优缺点。
通过VPN连接本地网络和Azure虚拟网络
Azure提供VPN gateway可用于这类场景, VPN gateway也是虚拟网络gateway的一种,它用于在Azure虚拟网络和用户网络之间发送数据,同时这些数据是加密的,并且可以直接在公网传输。
这种配置适合混合应用,即需要在本地网络和Azure之间互相调用的应用,如果你可以接受轻度的延迟,并且以云应用为主,充分利用云的计算能力,可以考虑选择这个架构。
优点
配置简单
提供较高的带宽:根据VPN gateway定价层的不同,最高可以达到10Gb
缺点
要求本地网络有一个VPN设备
虽然微软保证Azur
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 10:19:22
我们前面学习过使用Web架构来将应用部署到Azure上,上一节使用的架构主要是依赖于Azure提供的PaaS服务,使得客户的应用具有更好的扩展性,更方便的工具进行监控,报警,但是在当前的环境我们还是有很多用户拥有运行非常良好的基于之前技术架构的应用系统,同时也拥有经验丰富的IT管理团队,这类用户数量非常庞大,他们如果需要将自己的应用迁移到云环境,那么就必须有一套方便的工具和架构帮助他们进行迁移和新的应用设计,这个就是我们今天需要学习的N层架构以及基于虚拟机部署。
采用云环境中的虚拟机和基础网络组件进行应用的架构是非常自然的选择,毕竟云计算出现之前所有的应用都是按照这个步骤进行架构的,对于大多数的管理员和应用设计者都是一个非常熟悉的环境,不过我们还是有必要重新检查一下基于虚拟机的N层架构
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 10:16:11
我们之前学习了《Azure入门 1-10》主要介绍Azure的一些基本工具和知识,从本章开始我们会的持续学习Azure的开发基础知识,希望能够帮助大家快速的了解和学习Azure, 本章先介绍Web应用的体系架构。
我们先来参考一张图,这张图主要是使用Azure App Service和Azure SQL Database作为应用开发的架构。
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 10:13:13
PowerShell 是一种跨平台的任务自动化解决方案,由命令行 shell、脚本语言和配置管理框架组成。 PowerShell 在 Windows、Linux 和 macOS 上运行。
Shell
PowerShell 是新式命令 shell,其中包括其他常用 shell 的最佳功能。 与大多数仅接受并返回文本的 shell 不同,PowerShell 接受并返回 .NET 对象。 shell 包括以下功能:
可靠的命令行历史记录
Tab 自动补全和命令预测(请参阅 about_PSReadLine)
支持命令和参数[别名][]
用于链接命令的[管道][]
控制台内[帮助][]系统,类似于 Unix man 页面
脚本语言
作为一种脚本语言,PowerShell
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 10:11:18
什么是Azure CLi?
Azure CLI 是一个跨平台的命令行工具,可连接到 Azure 并对 Azure 资源执行管理命令。 它允许使用交互式命令行提示符或脚本通过终端执行命令。
若要以交互方式使用,请先启动 shell,例如在 Windows 上启动 cmd.exe 或在 Linux 或 macOS 上启动 Bash,然后在 shell 提示符处发出命令。 若要自动执行重复性任务,请使用所选 shell 的脚本语法将 CLI 命令配置到 shell 脚本中,然后执行该脚本。
可以在 Linux、Mac 或 Windows 计算机上本地安装 Azure CLI。 还可以通过 Azure Cloud Shell 在浏览器中使用,或者从 Docker 内部运行。
安装
Read more
分类:
Azure指南
◆
标签:
#Azure
#基础
#Azure Cloud Architecting
#Azure入门
◆
发布于: 2023-05-28 10:09:13
Bicep是一个专用领域的编程语言(DSL: Domain-specific Language), 使用描述性语法部署Azure资源。它提供了简明的语法,可靠的类型,支持代码重用。Bicep希望提供给用户在基础架构即代码的方案上有更好的体验。
Tips
基础架构即代码是一种概念,指的是向云环境迁移和部署应用的时候,运维和开发之间由于云平台的特性已经模糊了之前的壁垒,运维也需要使用代码的方式来部署在云平台上的资源,可以将这些代码放入版本管理工具,同时和DevOps集成起来。
你可以使用Bicep代替Json来开发ARM模板并部署Azure资源。使用Json语法创建ARM模板很多时候需要很复杂的表达式,Bicep语法降低了这种复杂性,提升开发体验,而且它具有和使用Json模板一样的
Read more