RPC简介
-
RPC, Remote Procedure Call ,远程过程调用,是一种跨系统间服务调用的协议或框架
-
在很多企业,在内部存在大量的业务子系统,这些子系统都承担独立的业务功能,并相互协作,实现企业各种业务
-
这些业务子系统协作过程中,存在大量的相互接口调用,常用的接口调用技术有Socket、Web Service、RPC、REST等
-
在企业内部,RPC由于其能像调用本地方法一样使用外部系统接口、效率高、性能好等特点,有着众多的应用场景
-
RPC优点:
- 格式清晰严谨,交互的双方遵守严格的接口规范和契约,更严谨稳定
- 性能好,数据传输效率高,一般使用TCP协议,使用长连接进行调用
- 私有协议,安全性高
-
RPC缺点
- 开发难度大,对初学者并不友好
- 业务耦合度高
- 灵活度低
-
常用的RPC技术或框架有:
- Thrift
- gRPC
- Apache Dubbo
-
RPC示意图
Dubbo概述
- Apache Dubbo 3 是一款微服务框架,为大规模微服务实践提供高性能 RPC 通信、流量治理、可观测性等解决方案,涵盖 Java、Golang 等多种语言 SDK 实现
- 不只是一款RPC框架,同时还提供服务治理,像服务自动注册与发现、服务监控、负载监控、服务降级等功能
- Dubbo支持多种服务注册中心,主要有:
- multicast
- zookeeper
- nacos
- redis
- simple
Nacos概述
-
致力于发现、配置和管理微服务
-
支持几乎所有主流类型的“服务”的发现、配置和管理,像
- Kubernetes Service
- gRPC & Dubbo RPC Service
- Spring Cloud RESTful Service
-
Nacos注册中心部署,参考官网文档https://nacos.io/zh-cn/docs/what-is-nacos.html,方式如下
- 本地使用,下载Nacos-server,然后通过bin/startup.cmd或bin/startup.sh运行即可,命令参考单机版命令,参考官网文档
- 部署到Linux服务器,参考官网文档
- 部署到Docker引擎,参考官网文档
-
部署完成后,可通过默认的8848端口访问注册中心,查看注册的服务,包括服务提供者和消费者,如下图
-
常用概念
- 服务列表:
- 显示注册的服务,包括服务提供者和消费者信息上
- 在服务管理-->服务列表中显示
- 如上图1中名为 providers:com.lemon.demo.dubbo.inf.service.IUserService:2.0.1 的服务,就是后面示例中Dubbo服务提供者定义并注册的IUserService服务
- 配置列表:
- 显示注册的服务接口详细信息,包括输入参数类型和名称、返回参数类型、自定义类型描述等
- 在配置管理-->配置列表中
- 如上图2中名为 com.lemon.demo.dubbo.inf.service.IUserService:2.0.1::provider:dubbo-provider 配置详情中,就有这个服务的详情
- 命名空间:主要用于分类服务,将某类服务归类到指定的命名空间中
- 分组:在同一个命名空间下的多个服务,也可以按实际业务逻辑进行分组处理
- 服务列表:
欢迎来到testingpai.com!
注册 关于