SOFARPC 一个高性能的 Java RPC 框架

SOFARPC 一个高性能的 Java RPC 框架

2022-09-27 0 1,120
资源编号 43558 最近更新 2022-09-27
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的 SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。

项目介绍

SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SOFARPC 提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等等。同时围绕 SOFARPC 框架及其周边组件提供丰富的微服务治理方案。

SOFARPC 一个高性能的 Java RPC 框架

功能特性

  • 透明化、高性能的远程服务调用
  • 支持多种服务路由及负载均衡策略
  • 支持多种注册中心的集成
  • 支持多种协议,包括 Bolt、Rest、Dubbo 等
  • 支持同步、单向、回调、泛化等多种调用方式
  • 支持集群容错、服务预热、自动故障隔离
  • 强大的扩展功能,可以按需扩展各个功能组件

开始使用 SOFABoot

请注意,代码示例需要本地安装 zookeeper 环境。如果没有,您需要删除
com.alipay.sofa.rpc.registry.address配置application.properties以使用本地文件作为注册中心。

创建项目

  • 准备环境:SOFABoot需要JDK7或JDK8,需要用Apache Maven 2.2.5或以上版本编译。
  • 构建 SOFABoot 项目:SOFABoot 基于 Spring Boot。所以可以使用Spring Boot 的项目生成工具来生成一个标准的 Spring Boot 项目。
  • 添加 SOFABoot 依赖:生成的标准 Spring Boot 项目直接使用 Spring 父依赖,需要改成 SOFABoot 提供的父依赖。父依赖提供和管理 SOFABoot 提供的各种 starter。
<parent> 
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>${spring.boot.version}</version> 
    <relativePath/> 
</parent> 

将以上内容替换为以下内容:

<parent> 
    <groupId>com.alipay.sofa</groupId> 
    <artifactId>sofaboot-dependencies</artifactId> 
    <version>3.0.0</version> 
</parent> 

1.Configure application.properties: application.properties是 SOFABoot 项目中的配置文件。这里需要配置应用名称。

spring.application.name=AppName 

2.引入 RPC 启动器:

<dependency>
     <groupId>com.alipay.sofa</groupId>
     <artifactId>rpc-sofa-boot-starter</artifactId>
</dependency> 

3.声明 SOFABoot 的 xsd 文件:

在要使用的 XML 配置文件中,将头 xsd 文件的声明配置为以下内容。这支持使用 SOFABoot 定义的 XML 元素进行开发。

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www .w3.org/2001/XMLSchema-instance" 
       xmlns:sofa="http://sofastack.io/schema/sofaboot" 
       xmlns:context="http://www.springframework.org/schema/context" 
       xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
            http://sofastack.io/schema/sofaboot http://sofastack .io/schema/sofaboot.xsd"

定义服务接口和实现

public interface HelloSyncService { 

    String saySync(String string); 
} 
public class HelloSyncServiceImpl implements HelloSyncService { 

    @Override 
    public String saySync(String string) { 
        return string; 
    } 
} 

在服务器上发布服务

在 xml 文件中配置以下内容。当 Spring 上下文刷新时,SOFABoot 在服务端注册服务实现,通过 Bolt 协议与客户端通信,并将地址等元数据发布到注册中心(默认使用本地文件作为注册中心)。

<bean id="helloSyncServiceImpl" class="com.alipay.sofa.rpc.samples.invoke.HelloSyncServiceImpl"/> 
<sofa:service ref="helloSyncServiceImpl" interface="com.alipay.sofa.rpc. samples.invoke.HelloSyncService"
    <sofa:binding.bolt/> 
</sofa:service> 

客户参考服务

在 xml 文件中配置以下内容。当 Spring 上下文刷新时,SOFABoot 会生成一个 RPC 代理 bean personReferenceBolt,. 这允许您直接在代码中使用 bean 进行远程调用。

<sofa:reference id="helloSyncServiceReference" interface="com.alipay.sofa.rpc.samples.invoke.HelloSyncService"> 
    <sofa:binding.bolt/> 
</sofa:reference> 

运行项目

SpringBoot的启动类编码如下。上面的 xml 文件在这里使用 ImportResource 加载。

@ImportResource({ "classpath*:rpc-sofa-boot-starter-samples.xml" }) 
@org.springframework.boot.autoconfigure.SpringBootApplication
public class SofaBootRpcSamplesApplication {
    public static void main(String[] args) {
          SpringApplication springApplication = new SpringApplication(SofaBootRpcSamplesApplication.class); 
          ApplicationContext applicationContext = springApplication.run(args);           

          HelloSyncService helloSyncServiceReference = (HelloSyncService) applicationContext 
            .getBean("helloSyncServiceReference"); 

          System.out.println(helloSyncServiceReference.saySync("sync") ); 
    } 
} 

路线图

SOFARPC 一个高性能的 Java RPC 框架

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 SOFARPC 一个高性能的 Java RPC 框架 https://www.7claw.com/43558.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务