为什么我要推荐你使用Core WebApi?

简介: 为什么我要推荐你使用Core WebApi?

2020年了,放眼望去,单体架构已经渐行渐远,分布式架构大行其道,微服务更是如火如荼。作为分布式实施的基础,跨进程通信的技术也是五花八门,为什么Core WebApi越来越火,被众多大牛们一直推荐?小编这就为你一一解答!

3种跨进程交互方式

01

基于第三方存储共享的通讯

基于第三方存储共享的通讯,数据库/Redis/队列等,特点是被动通讯,满足及时性要求低的场景。

02

基于Http协议的服务

如WebService、WCF、WebApi,甚至还有ashx一般处理程序,使用最广泛。

03 远程调用模式

远程调用模式,包括FX下的RPC和.NetCore下的gRPC,有使用限制和优异的性能。大部分的开发者和项目选型中,第二类是最为广泛的。下文对gRPC和WebApi有细致比对。

.Net下的服务选型

细想后我们不难发现,从最初的WebService一统江山,到.NetFramework3.0推出的集大成者WCF,却在4.0的时候被更轻巧的WebApi所打败。更好的REST风格支持(WCF也可以但很麻烦),对移动端的友好支持等,甚至跟MVC同一个开发技术栈,这些理由很充分的让技术团队都倾向于使用WebApi。

image.png

Core WebApi的变化

WebApi刚出来时,大家都非常兴奋,终于有原生的RESTful API了,但实践中却发现太多槽点,跟MVC框架同项目不同管道,鉴权授权参数绑定也很不友好,让学习者苦不堪言。然而,这个在Core WebApi得到了转变,和Asp.NetCore管道的统一,让大家开发和学习成本都降低了,再加上跨平台的优势,和全新中间件模式加成,毫不客气地说,CoreWebApi已经成为当下服务的首选。

image.png

Core WebApi VS gRPC

这两个是目前.Net Core下最热门的分布式通信方式了, gRPC是client/server模式通信的,支持流式通信,性能更高一些,相对的使用场景和实施成本也会高一些,REST的通用性更强,像典型的前后端分离架构,当下各公众平台对外数据提供,都是选择的REST接口,包括在微服务架构实施上,Core WebApi使用还是更广泛一些。

image.png

4天学好Core WebApi

DAY1

上手实践,宇宙第一IDE轻松建项目就能运行,然后把swagger啊,log4net啥配置起来,先感受下,当然,进阶点的可以用Nginx来组集群负载均衡搭建,好好体会下REST的无状态。

DAY2

内置IOC容器和middleware翻翻源码理解一下,知道请求是怎么处理怎么流转的,后面功能开发时才心里有底(面试也轻松)。

DAY3

各种Filter扩展定制,像异常处理、鉴权授权、跨域、缓存压缩等常见功能,都是基于Filter的AOP实现的,必须得扎实下。

DAY4

最后是框架组件整合了,搭建一套快速开发框架,整合下EFCore,autofac等,把JWT,数据格式定好,基本就万事大吉了。



相关文章
怒得网友100000赞,webservice中常用注解——@WebParam @WebResult详细描述
怒得网友100000赞,webservice中常用注解——@WebParam @WebResult详细描述
213 0
怒得网友100000赞,webservice中常用注解——@WebParam @WebResult详细描述
|
开发框架 前端开发 .NET
【WebApi】————.net WebApi开发(一)
【WebApi】————.net WebApi开发(一)
385 0
【WebApi】————.net WebApi开发(一)
WebApi下做项目配置
WebApi下做项目配置
99 0
|
编解码 JavaScript 前端开发
WebApi入门第一章(WebApi介绍)
WebApi入门第一章(WebApi介绍)
296 0
WebApi入门第一章(WebApi介绍)
|
API Android开发 iOS开发
【WebApi】————.net WebApi开发(二)
【WebApi】————.net WebApi开发(二)
137 0
|
XML JSON 数据格式
【WebApi】————.net WebApi开发(三)
【WebApi】————.net WebApi开发(三)
94 0
|
Java Spring
使用springboot开发的第一个web入门程序的实现
使用springboot开发的第一个web入门程序的实现
使用springboot开发的第一个web入门程序的实现
|
SQL 安全 关系型数据库
BUUCTF Web [强网杯 2019]随便注
[强网杯 2019]随便注 一、题目简介
392 0
BUUCTF Web [强网杯 2019]随便注
|
Web App开发 监控 Serverless
十分钟上线-基于函数计算开发 Restful web api & asp.net core web app
.NET Core是一个开源通用的开发框架,支持跨平台, 阿里云函数计算推出了 dotnetcore2.1 runtime, 使用 C# 编写 serverless 函数, 除了很好地支持通常意义上的函数外, 还可以基于函数计算开发 asp.
5728 0
|
前端开发 JavaScript .NET
【nodejs】让nodejs像后端mvc框架(asp.net mvc)一样处理请求--目录(8/8 完结)
为什么要做这个 在使用nodejs开发过程中,总是发现需要做很多重复性的体力劳动,且因为自身是服务端程序员出身,感觉有一些服务端好的东西其实可以在nodejs上得到应用并能提高一些开发工作效率。 本系列文章将介绍对express框架的一些扩展,来达到部分后台框架一样的特性功能。
1095 0
下一篇
无影云桌面