SOA与RPC

    xiaoxiao2025-04-24  11

    1.理解SOA

    a.英文名称(Service Oriented Ambiguity) b.面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 c.面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 d.SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。 e.SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化 f.SOA定位:如何设计项目,让开发时更有效率,SOA是一种思想。

    2. 举例:

    a.传统的架构设计: 总结:开发时,数据库访问层代码可能出现冗余 使用SOA 专门访问数据库服务(项目),开发时可以实现,数据访问控制和代码复用。

    3.实现SOA架构时,常用服务.

    a.Dubbo 做为服务. b.WebService 做为服务. c.Dubbox 做为服务.

    4.理解RPC

    a.英文名称(Remote Procedure Call Protocol) b.中文名称:远程过程调用协议 c.RPC解析:客户端(A)通过互联网调用远程服务器,不知道远程服务器具体实现,只知道远程服务器提供了什么功能. RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

    5.RPC主要是为了解决的两个问题:

    解决分布式系统中,服务之间的调用问题。 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。

    欢迎大家积极留言交流学习心得,点赞的人最美丽,谢谢

    最新回复(0)