springcloud是rpc框架吗
1306
springcloud也是一种rpc框架,但是区别是它使用的是http协议的传输整体技术和普通rpc如dubbothrift有很大区别所以一般会分开说 。Remote Procdeure Call ,即远程过程调用,它是一种通过网络计算机程序请求,服务,而不需要了解底层网络实现的技术。spring cloud是基于 spring boot 的微服务全家桶框架。
1、rpc
Remote Procdeure Call ,即远程过程调用,它是一种通过网络计算机程序请求,服务,而不需要了解底层网络实现的技术。
落实到开发:我们调用的接口虽然不在我们本地,但是我们调用起来就和在本地一样。我们常见的Httpclient 就是它的一个具体实现。
RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。
简述实现原理:
实现思路:网络通信(常用框架:netty) + 反射
客户端通过网络通信将需要调用的接口信息(接口名,方法名,参数类型,参数)发送给服务端
服务端通过网络通信接受到信息之后,通过反射进行方法调用,将结果通过网络通信返回给客户端
常见的典型 rpc 框架有:阿里的 dubbo,还有Thrift、Hessian等等都是采用的rpc架构。/
2、spring cloud
spring cloud 想必大家都很清楚,它是基于 spring boot 的微服务全家桶框架,使用Spring Cloud的开发者可以快速的启动服务或构建应用。
其中主要组件有(第一代):
- 注册中心 —— eureka
- 配置中心 —— config
- 网关 —— zuul
- 服务调用客户端 —— feign
- 熔断器 —— hystrix
- 负载均衡器 —— ribbon
- 集群监控 —— turbine
它的特点也是非常的突出:
- 约定优于配置
- 开箱即用,快速启动
- 适用于各种环境
- 轻量化组件
- 组件的支持很丰富,功能很齐全
- 选型中立