首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/653335

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

基于场景选择微服务的API范式:REST、GraphQL、Webhooks和gRPC

看过了太多关于REST的热爱和断言,我们有时会忘记,这只诸多选择之一。REST对于相当大范畴的API来说是一个非常好的标准,但在一些需要API设计风格更细致入微的场景,还有其他的标准可供选择。 为了帮助API开发者了解使用哪种API设计风格以及在什么情况下使用,我们把REST与其他三种选择放在一起进行了一个说明,即:gRPC, GraphQL和Webhooks。我们会提供一些实际的实践案例,来分析它们的优缺点,以强调是什么核心特征使每个选项在特定场景下成为一个很好的选择。 一、REST概述 在诸多选择中,REST可能是最广为人知的,因为它在Web API中应用十分广泛。2000年,Roy Fielding在其博士论文中首次提出REST的概念。他描绘了由Web服务约束所定义的体系结构基础蓝图,在该体系结构中,应用无状态设计理念和构建Web API的标准化方法。 白小白: Roy Thomas Fielding博士是HTTP和URI等Web架构标准的主要设计者,Apache HTTP 服务器的主要开发者。关于其博士论文的全文中文版,可以在下面这个地址得到,感兴趣可以看一哈。 https:/...

Java架构师面试题全集:Java基础+技术框架+系统架构+分布式系统

基础题目 Java线程的状态 进程和线程的区别,进程间如何通讯,线程间如何通讯 HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别 Cookie和Session的区别 索引有什么用?如何建索引? ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayList如何实现扩容。 equals方法实现 面向对象 线程状态,BLOCKED和WAITING有什么区别 JVM如何加载字节码文件 JVM GC,GC算法。 什么情况会出现Full GC,什么情况会出现yong GC。 JVM内存模型 Java运行时数据区 事务的实现原理 技术深度 有没有看过JDK源码,看过的类实现原理是什么。 HTTP协议 TCP协议 一致性Hash算法 JVM如何加载字节码文件 类加载器如何卸载字节码 IO和NIO的区别,NIO优点 Java线程池的实现原理,keepAliveTime等参数的作用。 HTTP连接池实现原理 数据库连接池实现原理 数据库的实现原理 技术框架 看过哪些开源框架的源码 为什么要用Redis,Redi...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册