SOFARPC

高性能 Java RPC 框架
授权协议 Apache 2.0
开发语言 Java
所属分类 Web应用开发、 RPC/XMLRPC项目
软件类型 开源软件
地区 国产
投 递 者 钦枫
操作系统 跨平台
开源组织 蚂蚁金服
适用人群 未知
 软件概览

SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SOFARPC 提供了丰富的模型抽象和可扩展接口,包括过滤器、路由、负载均衡等等。同时围绕 SOFARPC 框架及其周边组件提供丰富的微服务治理方案。

功能特性

  • 透明化、高性能的远程服务调用

  • 支持多种服务路由及负载均衡策略

  • 支持多种注册中心的集成

  • 支持多种协议

  • 支持同步、单向、回调、泛化等多种调用方式

  • 支持集群容错、服务预热、自动故障隔离

  • 强大的扩展功能,可以按需扩展各个功能组件

需要

编译需要 JDK 7 及以上、Maven 3.2.5 及以上。

运行需求 JDK 6 及以上。

  • 1、Consumer方法级别 Consumer方法级中设置的参数。目前3.4.2的sofaboot版本该参数只能通过XML方式进行配置,暂时不支持注解方式进行配置,具体配置如下所示,表示com.example.demoSampleService服务方法中的hello方法的超时时间设置为2000毫秒。 XML方式 <sofa:reference interface="com.example.demo

  • 前言 RPC 框架需要创造一种调用远程服务如同调用本地般的体验,因此在实现一个基于 RPC 框架的微服务架构的系统时,服务消费者(客户端)往往只需要知道服务端提供了哪些接口和方法,并不需要知道服务具体由哪些 IP 在提供。RPC 框架本身的服务发现和路由寻址功能解决了如何知道目标地址的问题,该过程对于 RPC 客户端调用方来说应该是完全透明的。 在这个过程中,RPC 框架需要接入注册中心来完成服务

  • 前置条件 引入接口定义依赖 要引用一个 RPC 服务,用户需要知道 RPC 服务的提供方所发布的接口是什么(如果发布的服务有 unique-id,还需要知道 unique-id),这就要求服务提供方将发布的接口所在的 JAR 包及依赖信息传到 Maven 仓库,以便服务引用方能够引用服务提供方所发布的 RPC 服务。如果是本地运行,需要在 sofaboot-rpc-server 工程目录运行 mv

  • SOFA Scalable Open Financial Architecture 是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,是在金融场景里锤炼出来的最佳实践。 本文为《剖析 | SOFARPC 框架》第四篇。 《剖析 | SOFARPC 框架》系列由 SOFA 团队和源码爱好者们出品 前言 这一篇,我们为大家带来了开发过程中,最常接触到的同步异步调用解析。

  • SOFARPC 是一个高性能、高可扩展、生产级别的 RPC 框架,由蚂蚁金服开源。 本文会提供一个 SOFARPC 最简使用示例(使用 SOFARegistry 做注册中心),之后的源码分析都会基于该示例及其扩展进行。 SOFARPC 坐标: com.alipay.sofa sofa-rpc-all 5.5.3 SOFARegistryClient 坐标:(SOFARegistry 客户端) co

  • 1.SOFA RPC源码解析 1.1  RPC配置 1.1.1  源码解析         在使用SOFA RPC的过程中,RPC相关的配置通过RpcConfigs实现。         RpcConfigs存在两个属性:  1.      /** 2.       * 全部配置 3.       */ 4.      private final staticConcurrentHashMap<S

  • SOFARPC 服务发布原理 SOFARPC 是蚂蚁SOFASTACK中的rpc框架,每一个中间件的兴起都值得我们学习它的设计理念,以拓展我们的知识储备。基本应该这里就不再展示了。没了解的过的同学可以参考:https://www.sofastack.tech/projects/sofa-rpc/overview/ 本次基于zookeeper作为注册分析。 暴露服务 配置好接口后如下 @SofaSe

 相关资料
  • Uragano 旨在提供一个搭建和使用简单的高性能 RPC 框架。Uragano 是基于 netstandard2.0 开发的。Uragano 默认采用 DotNetty 实现远程通信,使用 MessagePack 进行编解码。

  • 我正在用docx4j做一些测试。我需要做的是将复杂的Word文档(2-3页的文本、表格、项目符号列表、图像)转换成XHTML。

  • 我在我的应用程序中创建了第二个DataSource。 我用HikariDataSource创建了它,因为它断开了连接,所以出现了问题。 现在它没有断开,但是很慢 我的配置如下: 爪哇: 有人能告诉我如何提高绩效吗。 它们是表的小查询,分页约为25条记录,需要4秒钟。 我观察到,查询一个select的200条记录需要46秒,而查询只需要2秒。 以前,它们是千分之一秒。 非常感谢。

  • 本文向大家介绍推荐 21 款优秀的高性能 Node.js 开发框架,包括了推荐 21 款优秀的高性能 Node.js 开发框架的使用技巧和注意事项,需要的朋友参考一下 Node.js 框架可以帮助你开发出更友好的 web 应用。Node.js 框架的许多特性和功能也能开发出大型的 web 应用。下面我们来介绍 21 款最好的 Node.js 框架,帮助开发者快速开发 web 应用。 Express

  • 项目简介 SOFARPC 是蚂蚁金服开源的一款基于 Java 实现的 RPC 服务框架,为应用之间提供远程服务调用能力,具有高可伸缩性,高容错性,目前蚂蚁金服所有的业务的相互间的 RPC 调用都是采用 SOFARPC。SOFARPC 为用户提供了负载均衡,流量转发,链路追踪,链路数据透传,故障剔除等功能。 SOFARPC 还支持不同的协议,目前包括 bolt,RESTful,dubbo,H2C 协

  • SOFATracer 集成在 SOFARPC(5.4.0及之后的版本) 后输出链路数据的格式,默认为 JSON 数据格式,具体的字段含义解释如下: RPC 客户端 摘要日志( rpc-client-digest.log) 日志打印时间 TraceId SpanId Span 类型 当前 appName 协议类型(bolt,rest) 服务接口信息 方法名 当前线程名 调用类型(sync,callb