.NET Core 出得云端入得本地,微软让跨平台应用勇敢表达

640?wx_fmt=png

地铁公交的上班路上、咖啡馆里等人的时候,这些碎片化时间都是现代人学习和充电的机会,根据第42CNNIC中国互联网发展状况统计报告,截至20186月,网络文学用户规模已达4.06亿,占网民总体50.6%;手机网络文学用户规模3.81亿,占手机网民48.3%

我们依然爱阅读,

只不过从纸质书变成了手机移动端。


640?wx_fmt=gif

你的每次畅快阅读,

背后的TA有多努力你造吗?

人们已经习惯于在手机上阅读,对便捷畅快的读书软件要求也越来越高。福州畅读科技开发的畅读书城App,是近年来飞速上升的一款正版小说在线发布和阅读应用,不仅为读者提供了时下最热门的小说,还包含种类丰富独特的海量书籍资源,已逐渐在网络文学爱好者圈子里吸引了众多粉丝。

640?wx_fmt=png

是什么让畅读书城App脱颖而出,备受欢迎?

运维小哥哥介绍,为了给读者提供更好的服务,他们的应用后端基于Linux平台,采用了服务化的架构设计,目前共运行了上百个不同服务,其中仅网关层峰值时段每分钟就要处理120万个请求,日请求总量4.5亿;而服务层峰值时段每分钟处理80万个请求,日请求总量高达2亿!

那么多服务,每个服务那么大的负载,

这得怎样的IT基础架构才能Hold得住?

其实也简单,就这样:

640?wx_fmt=gif

640?wx_fmt=png

借助微软.NETCore平台对系统架构进行服务化的重构,后端需要的不同功能均通过服务的方式提供,这样每个服务就可以独立部署和扩展,而不需要跟随整个项目打包部署。这样的架构,还使得他们实现了服务的统一配置和管理、自动化更新和部署等功能。

640?wx_fmt=gif

面对新需求和趋势

你需要全新的后端平台

在飞速发展的移动互联网、云计算时代,很多企业都在面对类似畅读书城这种有关服务化架构、高性能高并发的业务需求:

  • 开发者需要用最短的时间开发交付应用,并满足在不同平台上原生运行提供一致的优异体验;

  • 足够强大的后端,能够从性能和处理效率上满足高并发要求;

  • 简化后续的运维工作,尽可能以服务化的方式革新架构设计思路,将原本的整体式架构拆分成不同的微服务,以此提高开发和发布的敏捷程度;

  • 为满足业务、技术、合规等各方面要求,灵活部署在本地或云端,甚至随着需求的变化,在不同环境间灵活移动……

有没有哪个应用平台,可以在实现上述所有要求的同时,尽可能降低学习曲线,让开发者能够用最短的时间快速上手,同时尽可能充分利用现有的工具和技能?当然,如果是开源的那就更棒了!

640?wx_fmt=gif

Microsoft.NET Core

你需要的,和你没想到的,它全都能提供

.NET Core是微软和开源社区共同推出和维护的一套开源、通用的开发框架,提供了完善的跨平台能力,并能方便地在不同硬件设备、云服务、嵌入式设备和物联网解决方案中使用。该框架已发布至GitHub。

作为跨平台的应用开发框架,.NET Core专门针对模块化微服务架构而设计,我们也可以将其视作.NET Framework的新一代版本。与传统框架相比,.NET Core有很多面向云时代专门打造的特性:

  • 跨平台:可在Windows、macOS和Linux上开发或运行。

  • 跨架构一致性:代码无论在x64、x86或ARM架构的设备上运行,均可实现一致的行为。

  • 部署灵活性:全面支持本地部署和云端托管,并支持在容器中运行。

  • 开源:作为.NET基金会的一个项目,.NETCore平台使用MIT许可的方式开源。

  • 命令行工具:针对本地开发和持续集成等场景提供了易用的命令行工具。

.NET Core也为不同编程语言提供了良好的支持,目前,开发者可以使用包括Visual Studio、Visual Studio Code、Sublime Text和Vim等流行的IDE或文本编辑器,通过C#、Visual Basic和F#为.NET Core编写应用程序和库。

诸多特性加持以及对全新架构与技术的完善支持,使得.NET Core成为绝大部分移动应用、高性能高并发应用开发场景中的首选平台。

640?wx_fmt=gif

在本地,在云端,在容器里,

哪儿都能流畅运行

.NET Core的灵活性不仅体现在跨平台开发能力方面,同时也体现在部署和运行方面,开发者可以根据需要选择将项目部署到本地,Azure云中,甚至Docker容器内。

Azure智能云平台以完善的托管式基础设施和平台服务为.NETCore应用程序的托管、部署和运行提供了坚实基础。用户不仅可以像管理传统数据中心基础架构一样部署虚拟服务器,还能直接借助PaaS层服务(如Azure应用服务)实现更快速高效的部署和运行。

围绕Azure应用服务使用.NET Core进行开发,或在本地开发部署并在需要时(无需改动代码)直接迁移至Azure云端,还可帮助开发者进一步提高开发效率与发布频率,进一步加快新应用的上线速度。

此外开发者还可以选择将自己的.NET Core应用托管到基于Azure Kubernetes服务的容器中,借此简化基于微服务的体系结构的部署和管理,轻松获得水平缩放、自我修复、负载均衡、机密管理等能力,并通过快速构建的CI/CD管道加速容器化应用程序开发。

640?wx_fmt=gif

面对新趋势,

这个全新平台已做好准备

广泛的平台支持是.NETCore最大价值之一,将其与Azure智能云相结合,开发者不仅获得了跨平台的开发平台,还可以借助Azure应用服务、容器,甚至AzureFunctions无服务器计算等能力为这样的应用提供高性能、高可靠、高稳定性的托管和运行平台。围绕Azure 和微软技术的庞大生态也为系统支持和开放性提供了广泛的支持。

随着微服务理念逐渐普及,敏捷开发盛行,开源技术蓬勃发展,全新应用场景层出不穷,越来越多的企业开始对高性能、高并发、跨平台应用有了更强需求。开源的.NET Core为开发者提供了一条行之有效的新思路。

走进畅读书城,探秘.NET Core开发之道

访谈时间

2018927日 11:00

访谈嘉宾

畅读书城开发团队

访谈形式

网络直播

主要内容

深度解析如何运用 .NET CoreAzure助力企业快速开发跨平台APP

介绍微软.Net Core开源技术架构如何在Azure中支持平均每分钟120万次,每日4.5亿次请求。


阅读原文报名或扫描二维码,立即报名观看直播


640?wx_fmt=png

原文地址:

https://www.microsoft.com/china/azureeventpage/webinar/mobilepage/request.html?meetingid=17&tcode=Social0927


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/319798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【每日一题】7月3日精讲—毒瘤xor

【每日一题】7月3日精讲—毒瘤xor 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 32768K,其他语言65536K Special Judge, 64bit IO Format: %lld文章目录题目描述题解:代码:题目描述 输入描述: 第一行一个整…

【DP】集合问题(2015特长生 T4/luogu 1466)

正题 luogu 1466 题目大意 给你1~n的一个集合,问你有多少种方案把该集合分成两个集合,且两集合的数字之和相等 解题思路 设fi,jf_{i,j}fi,j​为放好i个数且集合1的和比集合2的和大j的方案书 那么对于第i个放到两个集合中,分别从fi−1,j−…

P5212-SubString【LCT,SAM】

正题 题目链接:https://www.luogu.com.cn/problem/P5212 题目大意 开始一个字符串SSS,有nnn次操作 在SSS末尾加入一个字符串询问一个串在SSS中出现了多少次 强制在线 解题思路 强制在线的话,只有SAM\text{SAM}SAM能够支持动态插字符了,但…

了解改良圈算法

一.相关知识——Hamilton圈 什么是Hamilton圈? 哈密顿图(哈密尔顿图)(英语:Hamiltonian path,或Traceable path)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指…

ASP.NET Core Middleware

中间件(Middleware)是ASP.NET Core中的一个重要特性。所谓中间件就是嵌入到应用管道中用于处理请求和响应的一段代码。ASP.NET Core Middleware可以分为两种类型:Conventional MiddlewareIMiddlewareConventional Middleware这种中间件没有实现特定的接口或者继承特…

NOIP复健计划——动态规划

树形DP [POI2011] DYN-Dynamite 二分KKK check(mid): 能否选出mmm个点,使得 ∀i为关键点,Minjisselected{dis(i,j)}≤mid\forall i为关键点,Min_{j\ is\ selected}\{dis(i,j)\}\leq mid∀i为关键点,Minj is selecte…

【每日一题】7月6日精讲—平衡二叉树

来源:牛客网: 文章目录题目描述题解:代码:时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 1048576K,其他语言2097152K 64bit IO Format: %lld题目描述 平衡二叉树,顾名思义就…

【DP】晨练计划(ybtoj)

正题 ybtoj 题目大意 给你n个时间点 在第i个时间点跑步有aia_iai​点贡献,但会加一点疲惫值,疲惫值不能超过m 当前疲惫值为x,那么你可以花x点时间来清空疲惫值,当然也可以啥都不干 问你第n个时间后疲惫值为0的最大贡献 解题思…

MATLAB灰色预测

一.灰色预测 1.灰色系统下的灰色预测 <1>什么是灰色系统&#xff1f; 所谓的灰色系统其实就是夹杂在白色系统和黑色系统之中的一种系统&#xff0c;而白色系统就是全部信息已知的系统&#xff0c;黑色系统就是全部信息未知的系统。所以&#xff0c;夹在这两种系统中间…

ASP.NET Core 中的依赖注入

什么是依赖注入软件设计原则中有一个依赖倒置原则&#xff08;DIP&#xff09;&#xff0c;为了更好的解耦&#xff0c;讲究要依赖于抽象&#xff0c;不要依赖于具体。而控制反转(Ioc)就是这样的原则的其中一个实现思路, 这个思路的其中一种实现方式就是依赖注入(DI)。什么是依…

P4357-[CQOI2016]K远点对【K-Dtree】

正题 题目链接:https://www.luogu.com.cn/problem/P4357 题目大意 平面上给出nnn个点&#xff0c;求第kkk远的点对距离。 解题思路 K-Dtree\text{K-Dtree}K-Dtree的模板题&#xff0c;但是这里只有二维&#xff0c;大概是每次根据一个维度把nnn个点分成两半像线段树一样丢到下…

【每日一题】7月7日题目精讲—最短路

来源&#xff1a;牛客网&#xff1a; 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 1048576K&#xff0c;其他语言2097152K 64bit IO Format: %lld题目描述 给一个连通图&#xff0c;每次询问…

【dfs】栅栏的木料(2012特长生 T4)

题目大意 给你n个木板&#xff0c;给你这些木板的长度&#xff0c;你可以把这些木板切开&#xff0c;现在有m个木料&#xff0c;问你最多可以切出多少个木料 解题思路 可以dfs枚举每个木料用哪个木板来切 但这样显然会超时&#xff0c;那么考虑剪枝 1.对于一些木板&#xf…

【c++算法刷题笔记】——洛谷1

2020/2/14-2/16 1. 循环提取一个数的每一位数字 while (d > 0) //d0跳出循环 {xd%10; //x每次为d的个位数 d d / 10; //相当于d每次舍去个位数 }2. cnew创建动态二维数组 int *anew int[n]; //创建动态一维数组 int(* a)[2…

【活动(广州)】office365的开发者训练营

Office 365每月有超过1亿的商业活跃用户&#xff0c;是现有最大的生产力服务。Office 365为开发人员提供了一个令人难以置信的机会&#xff0c;包括业务关键数据和数百万用户&#xff0c;以及一个旨在让人们保持工作流程的平台。作为一名开发人员&#xff0c;您可以使用每天使用…

P5325-[模板]Min_25筛

正题 题目链接:https://www.luogu.com.cn/problem/P5325 题目大意 定义一个积性函数满足f(pk)pk(pk−1)f(p^k)p^k(p^k-1)f(pk)pk(pk−1) 求∑i1nf(i)\sum_{i1}^nf(i)∑i1n​f(i) 解题思路 首先我们可以把f(pk)f(p^k)f(pk)是质数的情况拆成一个222阶的多项式f(x)x2−xf(x)x^2…

牛客网【每日一题】7月8日 Alliances

来源&#xff1a;牛客网 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 5秒&#xff0c;其他语言10秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld题目描述 树国是一个有n个城市的国家&#xff0c;城市编号…

【bfs】廉价最短路径(2013特长生 T4)

题目大意 给你一个图&#xff0c;每条边有一个代价&#xff0c;让你求0到1在最短路径的前提下的最小代价 解题思路 bfs同时求个最代价 代码 #include<queue> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #de…

Ocelot简易教程(四)之请求聚合以及服务发现

上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍&#xff0c;今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能。希望能对大家有所帮助。作者&#xff1a;依乐祝原文地址&#xff1a;https://www.cnblogs.com/yilezhu/p/9695639.html请求聚合Ocelot允…

邓公数据结构C++语言版学习笔记1

1. 对于计算幂2n2^n2n的算法优化 暴力算法时间复杂度O(n)O(n)O(n) __int64 power2BF_I(int n) //幂函数2^n算法&#xff08;蛮力迭代版&#xff09;&#xff0c;n > 0{ __int64 pow 1; //O(1)&#xff1a;累积器刜始化为2^0while (0 < n --) //O(n)&#xff1a;迭代n轮…