2020年了,放眼望去,单体架构已经渐行渐远,分布式架构大行其道,微服务更是如火如荼。作为分布式实施的基础,跨进程通信的技术也是五花八门,为什么Core WebApi越来越火` A _ P %,被众多大牛们一直推荐?小编这就为你一一解答!
3种跨进程交互方式G 3 c
01
基于第三方# * 5 ; 0 u p % A存储共享的通讯
基于第三方存储共享的通u W H 3讯,数据库/Redis/队列等,特点是被动通讯,满足及时性要求低的场景。
02
基于Http协议的服务
如WebService、WCF、WebApi,甚至还有ashx一般处理程序^ ) u $ e,使用最广泛。
03 远程调用模式
远程调用模式,包括FX下的RPC和.NetCore下的gRPC,有使用限制t 4 ! 7和优异的性能。大部分的开发者和项目选型中,第二类是最为广泛的。下文对gRPC和WebApi有细致比对。
.Net下的服务选型
细想后我们不难发现,从最初的WebServicr ^ b / &e一统江山,到.NetFramework3.0推出的6 7 # p h o Q Y w集大成者WCF,却在4.0的时候被更轻巧的WebApi所打败。更好的REST风格支持(WCF也可以但很麻烦),对移动端的友好支持等,甚至跟MVC& . u同一个开发N _ q j技术栈,这些理由很充分的让技术团队都倾向于使用WebApi。
Core WebApi的变化
WebApi刚出来时,: s ! K Z 2 ^ P P大家都非常兴奋,终于; K R F O 9 q有原生的RESTful API了,但实践中却发现太多槽点,跟MVC框架同项目不同管道,鉴@ B & S %权授权参数绑定也很不友好t 8 S l / V k ),让学习者苦不堪言。然而,这个在Core WebApi得到了转变,和Asp.NetCore管道的统一,让大家开发和学习成本都降低了,再加上跨平台的优势B : ^ e | | 1 d,和全新中间件模式加成,毫不客气地说,CoreWebApi已经成为当下= t A , { { q g服务a ! R的首选。
Corez Y E + / % O 2 . WebApi VS gRPC
这两个是目前.Net Core下最热门的分布式通信方式i 9 ? n %了8 B x K H G & c, gRPC是client/server模式通信的,支n l (持流式通信,性能更高一些,相对的使用场景和实施成本也会高一些,REST的通用性更强,像典型的前后端分离架构,当下各公众平台对外数据提供,都是选择的REST接口,包括在微服务架构实施上,Core WebApi使用还是更$ + 广泛一些。
4天学好Core WebApi
DAY1
上i | c b O P g 8手实践,宇宙第一IDE轻松建项目就能运行,然后把swagger啊,log4net啥配置起来,先感受下,当然,进阶点的可以用Nginx来组集群负载均衡搭建,好好体会下REST的无状态。
DAY2
内置IOC容器y U r ` 6 v和middlG ) Z w ^ t _ !eware翻翻源码理解一下,知道请求是怎么处理怎么流转的,后面功能开发时a ` ~ E -才心里有底(面试也轻松)。
DAY3
各种Filter扩展定制,像异常处理、t b 3 I y _ ]鉴权授权、跨域、缓存压缩等常见功能,都是基于Filter的AOP实现4 Q |的,必须得扎实下。
DAi : v ]Y4
最后是框架组件整合了,搭建一套快速开发框架? ` T F E b V a,整合下EFCore,autofacu 1 Y g等,把JWT,数据格z ` S E [ X式定好,基本就万事大吉了。
当然啦,纸上得来终觉浅!单单知道方法肯定是不够的,为了最快地将技术引入到公司产品实战应用,游刃有余地应对面试。完整专题课学习必不可少!
万能小编在此提供整套Core WebApi特训课程!本号粉丝免费领取!进阶之路并不孤单,赶快扫码和我一起学习!
福利福利福利
如果你对跨平台开发的实操经验不多,甚至连IOC、AOP、RESTful这些技术还有欠缺的小伙伴注意了!
为了让你更好地学习,
相关预习资料免费送给你!
赶快扫码领取哦!