soa以及rpc接口是啥

哪个大神能给我解释下啥是soa接口啥是rpc接口,我通常接触的都是api接口,通过前端调用的,soa和rpc是不是都是服务内部调用的接口啊,平时接触不到?我不是开发,就是疑惑。

一、SOA
英文名称:Service Oriented Ambiguity
中文名称:面向服务架构
SOA是一种思想,目的是提供一种设计项目的思路,让开发时更有效率。
例如原来的分布式项目中,在每个项目都要访问数据库,这样就造成了代码的冗余:

使用SOA架构后:
专门访问数据库服务(项目)
开发时可以实现数据访问控制和代码复用

实现 SOA 架构时,常用服务:
Dubbo作为服务
WebService作为服务
Dubbox作为服务
服务方就是 web 项目,调用 web 项目的控制器
使用 HttpClient 可以调用其他项目的控制器
二、RPC
英文名称:Remote Procedure Call Protocol
中文名称:远程过程调用协议
解释:客户端(A)通过互联网调用远程服务器,不知道远程服务器的具体实现,只知道远程服务器提供了什么功能。

soa是服务的统称,rpc指的是进程间通信。

SOA(面向服务的架构):是将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
RPC(远程服务调用):简单来说就是不同服务之间通过网络传输传递信息
SOA是一种面向服务的架构,而RPC是服务于服务之间传递信息的方式,你说的SOA接口我猜大概率是说的代码中内部Api接口,而你说的Api接口大概率是某些第三方平台开放的Http接口,两者都可以说是RPC接口
如果有帮助的话请采纳,谢谢

  1. soa,简单来说就是把你的一个服务按照功能模块拆分成若干个小服务,这些小服务相互独立工作。
  2. rpc是一个总称,指的是远程调用,你常用的应该是http的api吧,这个就是一种rpc;

“我通常接触的都是api接口” 那些玩意都是你这句话的 高级称呼
其实没啥 前后端 JSON格式数据交互 就完事了