soul网关系列(四):Sofa-RPC服务运行实例和深入分析

Sofa-RPC 是蚂蚁金服开源的一款基于 Java 实现的 RPC 服务框架,为应用之间提供远程服务调用能力

一、Sofa-RPC介绍

2.1 简介

Sofa-RPC 是蚂蚁金服开源的一款基于 Java 实现的 RPC 服务框架,为应用之间提供远程服务调用能力,具有高可伸缩性,高容错性,目前蚂蚁金服所有的业务的相互间的 RPC 调用都是采用 SOFARPC。SOFARPC 为用户提供了负载均衡,流量转发,链路追踪,链路数据透传,故障剔除等功能。

SOFARPC 还支持不同的协议,目前包括 bolt,RESTful,dubbo,H2C 协议进行通信。其中 bolt 是蚂蚁金融服务集团开放的基于 Netty 开发的网络通信框架。

2.2 基本原理

在这里插入图片描述

  1. 当一个 SOFARPC 的应用启动的时候,如果发现当前应用需要发布 RPC 服务的话,那么 SOFARPC 会将这些服务注册到服务注册中心上。如图中 Service 指向 Registry。
  2. 当引用这个服务的 SOFARPC 应用启动时,会从服务注册中心订阅到相应服务的元数据信息。服务注册中心收到订阅请求后,会将发布方的元数据列表实时推送给服务引用方。如图中 Registry 指向 Reference。
  3. 当服务引用方拿到地址以后,就可以从中选取地址发起调用了。如图中 Reference 指向 Service。

2.3 与dubbo的区别

Dubbo 是阿里集团开源的一款非常优秀的RPC框架,高性能,具有良好的扩展性。Dubbo在国内开源界起步较早,使用者较多,开源生态更加丰富,目前已进入Apache基金会进行孵化。Dubbo最早在阿里巴巴B2B部门广泛使用。

SOFARPC 最早起源于阿里集团内部的 HSF,但是经过了

在Maven项目中,`unresolved dependency`错误通常表示构建工具无法找到指定的依赖项。具体到`com.alipay.sofa:rpc-enterprise-sofa-boot-starter`库的问题,可能的原因解决方法如下: ### 1. 检查依赖配置 首先确保`pom.xml`中的依赖配置正确无误。确认`groupId`、`artifactId`以及`version`是否准确,尤其是版本号是否仓库中提供的版本一致。Alibaba SofaBoot框架的某些模块可能仅在特定版本中存在。 ```xml <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>rpc-enterprise-sofa-boot-starter</artifactId> <version>3.0.0</version> <!-- 确认此版本是否存在 --> </dependency> ``` ### 2. 配置私有仓库或镜像 部分SOFARPC企业版依赖并未发布至公共Maven仓库(如Maven Central),而是托管于阿里内部的私有仓库或者[Aliyun Maven镜像](https://maven.aliyun.com/)。需要将以下仓库配置添加至`pom.xml`或全局的`settings.xml`文件中[^1]。 ```xml <repositories> <repository> <id>alimaven</id> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories> ``` ### 3. 使用正确的版本号 某些SOFARPC的starter包可能会随着Spring Boot版本的不同而有所变化。请查阅官方文档或版本兼容性说明,以确定适用于当前Spring Boot版本的`rpc-enterprise-sofa-boot-starter`版本。 ### 4. 手动安装JAR文件 如果依赖仍未解析成功,并且确认该JAR文件存在于本地或其他位置,则可以尝试使用Maven命令手动安装到本地仓库。 ```bash mvn install:install-file -Dfile=rpc-enterprise-sofa-boot-starter.jar \ -DgroupId=com.alipay.sofa \ -DartifactId=rpc-enterprise-sofa-boot-starter \ -Dversion=3.0.0 \ -Dpackaging=jar ``` ### 5. 检查络连接代理设置 Maven需要能够访问远程仓库来下载依赖。如果处于公司内或防火墙之后,请检查`settings.xml`中的代理配置是否正确。 ```xml <proxies> <proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> <username>user</username> <password>pass</password> <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> </proxy> </proxies> ``` ### 6. 查阅官方文档及社区支持 由于SOFARPC是由蚂蚁集团维护的开源项目,建议参考其[官方文档](https://www.sofastack.tech/sofa-rpc/docs/home/)获取最新的依赖管理指南支持信息。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值