Hasor-RSF 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Hasor-RSF 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开发厂商
地区 国产
提 交 者 哈库纳
适用人群 未知
收录时间 2016-04-11

软件简介

    一个高可用、高性能、轻量级的分布式服务框架。支持容灾、负载均衡、集群。一个典型的应用场景是,将同一个服务部署在多个Server上提供 request、response 消息通知。使用RSF可以点对点调用,也可以分布式调用。部署方式上:可以搭配注册中心,也可以独立使用。

    注册中心的使用支持嵌入到应用程序本身,也支持独立运行。集群模式的部署注册中心,还可以为您解决注册中心单点问题。

渊源

    核心思想参考了淘宝HSF、Dubbo等优秀框架。虽然参考了相关设计,但是实现逻辑完全不同,相比淘宝HSF少了历史包袱,相比Dubbo更加轻量化。而且还支持了虚拟机房,对于多机房部署的产品可以省下大量带宽成本,同时也降低了远程调用时间。真正的毫秒级调用业务处理。

    RSF虽然在功能上与两位前辈出入不大,使用RSF最直观的感受就是简单方便,配置少、依赖少,功能强大。

简单容易(三个一)

  • 1 行代码发布服务。
  • 1 行代码订阅服务。
  • 1 行代码使用服务。

    配置文件上也是十分简单,编辑xml配置文件,两行配置(一行,配置端口、一行配置注册中心)

工作原理

架构

特性

01. 支持服务动态发布、动态卸载。
02. 支持服务分组、分版本。
03. 支持多种调用方式(同步、异步、回调、接口代理)
04. 支持点对点定向通信,也可以集群大规模部署集中提供同一个服务。
05. 支持虚拟机房,通过配置虚拟机房策略可以降低跨机房远程调用。
06. 支持QoS流量控制,流控可以精确到:接口、方法、地址。
07. 支持动态路由脚本,路由可以精确到:接口、方法、参数。
08. 支持泛化调用。泛化调用就是不依赖二方包,通过传入方法名,方法签名和参数值,就可以调用服务。
09. 支持优雅上下线。
10. 支持 telnet 控制台,同时控制台指令还支持自定义扩展。
11. 支持自定义序列化。默认使用内置 Hessian 4.0.7 序列化库。
12. 支持请求、响应分别使用不同序列化规则。
13. 支持隐式传参,即调用之外的信息通过选项发送给远端,或者由远端响应给调用方。
14. 支持调用拦截器RsfFilter。
15. 支持注册中心三种部署方式(单机模式、集群模式、主从模式)
16. 采用服务地址缓存。当应用启动时,如果注册中心离线,可以自动尝试恢复服务的提供者地址列表。
17. 采用失效地址自动重新尝试激活。当某个地址失效之后,RSF会冻结一段时间。
18. 采用IO线程、调用线程分离式设计。
19. 最小依赖:即便使用全部功能依赖也仅仅只有“hasor.jar、netty.jar、groovy.jar”三个JAR包。

相关资源

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (13)

加载中
打分: 推荐
苏宁?
2018/04/03 19:17
回复
举报
哈库纳软件作者
打分: 力荐
请注意:RSF 项目回归 Hasor。为了方便后续开发维护,RSF的代码库暂停维护。请您更新 Fork 和 Star 到下面两个地址: 源码和历史版本已迁移到:http://git.oschina.net/zycgit/hasor or https://github.com/zycgit/hasor
2017/05/15 17:41
回复
举报
哈库纳软件作者
#Hasor-RSF# RSF 年前计划发一个 1.2 版本,准备在 1.2 中加入 多协议夸语言的支持。 目前可以支持大约 25不同类型编程语言。
2017/01/22 10:10
回复
举报
有没有跨语言的分布式服务框架 #Hasor-RSF#
2016/04/12 09:22
回复
举报
2016/04/12 12:46
回复
举报
对于文档接口的调用性能如何? #Hasor-RSF#
2016/04/13 00:23
回复
举报
很强大:skin-tone-2:,都是实际一些功能,想要扩展也好办 #Hasor-RSF#
2016/04/13 07:06
回复
举报
哈库纳软件作者
RSF 更新 RoadMap,未来动向更佳清晰 #Hasor-RSF#
2016/09/28 12:10
回复
举报
哈库纳软件作者
历经2年,RSF 1.0 正式发布 #Hasor-RSF#
2016/10/27 13:57
回复
举报
哈库纳软件作者
https://my.oschina.net/u/1166271/blog/777571 《RSF 分布式 RPC 服务框架的分层设计》 #Hasor-RSF#
2016/10/28 18:49
回复
举报
更多评论
发表了资讯
2017/02/20 10:25

RSF 1.3.0 正式发布,剥离注册中心、修正多协议兼容

RSF 1.3.0 正式发布啦,本地发布主要是:剥离出独立的注册中心、修正多协议兼容的问题 **新增**     01.RSF项目拆分成 framework 和 registry 两个部分。     02.framework 项目是 RSF 的核心实现了 P2P 模式下的 RPC 调用以及流量控路由等功能。     03.registry 项目是 RSF 的独立的注册...

1
26
发表了资讯
2017/02/03 10:02

服务框架 RSF 1.2.0 发布,新增多协议&跨语言支持

服务框架 RSF 1.2.0 发布,本地发布最大亮点在于新增了:多协议、跨语言的特性。语言方面大约涵盖了大约 25种语言。 在原有 RSF RPC 协议下,通过与 Hprose 进行合作新增了 Hprose HTTP协议 RPC。同时基于 Hprose HTTP RPC 协议 RSF 扩充 大约25种编程语言。实现 这些语言与 RSF 互相调用。 这方面的支持要非常感谢 HPro...

4
32
发表了资讯
2016/12/01 15:11

分布式服务框架 RSF 1.1.0 ,新增网关和 Bug 修复

分布式服务框架 RSF 1.1.0 发布了。 更新日志 ===== Hasor-RSF v1.1.0 (2016-12-01) * 新增:     01.RsfApiBinder 新增 converToProvider 方法方便 RSF 服务注册到 Hasor。这样 Hasor 就可以依赖注入一个 RSF 服务。     02.RsfPublisher 接口可以通过 AppContext 直接拿到了,不需要通过 RsC...

11
48
发表了资讯
2016/11/08 19:26

RSF 1.0.1 分布式服务框架,新增 Spring/JFinal 支持

RSF 1.0.1 分布式服务框架,新增 Spring/JFinal 支持。 Hasor-RSF是一个高可用、高性能、轻量级的分布式服务框架。支持容灾、负载均衡、集群。一个典型的应用场景是,将同一个服务部署在多个Server上提供 request、response 消息通知。使用RSF可以点对点调用,也可以分布式调用。部署方式上:可以搭配注册中心,也可以独...

8
74
发表了资讯
2016/10/27 00:00

RSF 1.0.0 分布式服务框架正式发布

一个高可用、高性能、轻量级的分布式服务框架。支持容灾、负载均衡、集群。一个典型的应用场景是,将同一个服务部署在多个Server上提供 request、response 消息通知。使用RSF可以点对点调用,也可以分布式调用。部署方式上:可以搭配注册中心,也可以独立使用。 注册中心的使用支持嵌入到应用程序本身,也支持独立运行。...

23
119
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2015/03/12 20:20

轻量化的分布式服务框架 Hasor-RSF 盘点

一个轻量化的分布式服务框架,相信这类框架已经不是什么新鲜事物,可用的替代方案有很多这里就不多说了,说一下RSF解决的问题把。

13
68
发表于软件架构专区
2013/07/10 19:35

Hasor:生命周期

首先引用Wiki的介绍一下Hasor: “Hasor是一款开源框架。它是为了解决企业模块化开发中复杂性而创建的。Hasor遵循简单的依赖、单一职责,在开发多模块企业项目中更加有调理。然而Hasor的用途不仅仅限于多模块项目开发。从简单性、松耦合性的角度而言,任何Java应用都可以从中受益。Hasor与Struts,Hibernate等单层框架不同...

18
24
发表于AI & 大数据专区
2013/11/11 14:17

Hasor 的思前想后

这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,本文主要絮叨絮叨 关于 Hasor 的一些想法,欢迎大家品评。 首先很抱歉各位关注这一些列文章的朋友,Hasor 这一系列文章更新速度并不是很快。其中主要是因为工作的缘故。 关于 Hasor 我想有很多人并不了解这一款框架究竟是做什么的,我自己也承认在最初计划...

2
11
发表于服务端专区
2014/09/21 14:26

RSF 分布式服务框架设计

是时候设计一个分布式服务框架了。我先将它定名为 Hasor-RSF,“RSF”为 Remote Service Framework 的缩写。 RSF的目的是为了提供一种高效的远程服务访问方式,例如“A机器访问在B机器上的一个服务”。当然首先它是运行在Java上的,但是我并不希望 Java 成为 RSF的唯一平台。 它应该是分布式的,就是说服务 A 可能会分布...

25
139
发表于开发技能专区
2016/10/30 19:44

RSF 分布式 RPC 服务信息的暴露

在上一篇 Blog 文中,我们了解到 RSF 的整体设计一共是分了 9 个层次。这一篇 Blog 我们来专门介绍 RSF 是如何将服务发布出去的。我们简称服务暴露。 什么是服务暴露? 让我们先来看一张图,直观的感受到服务暴露的具体意义。 首先讲一下什么是服务暴漏,服务暴露简单地讲就是把服务接口信息收集起来然后加以管理。对于服...

0
15
发表了博客
2013/11/11 17:50

Hasor 的技术选型

这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,本文主要介绍 Hasor 框架的技术选型。 前面已经介绍了 Hasor 的目的是为了打造一款轻量化的 Java 开发框架。这款框架首先不考虑 SSH JFinal 这类框架作为模板,因为 Hasor 的基础部分定位和这些框架有少许出入。但是它们的经典设计是可以用来参考的。 首先...

7
10
发表于服务端专区
2016/10/06 13:14

用 Hasor 实现文件上传

Hasor 采用了与 JFinal 类似的方式提供 API,底层的上传机制是来自 apache commons fileupload 并将其进行大量简化后内置到 Hasor 自身。 因此在 Hasor 中使用文件上传功能无需引入任何第三方 jar 包您就可以使用该功能,先从一个简单的例子说起。 @MappingTo("/fileupload.do") public class FileupLoad extends WebCo...

0
0
发表于服务端专区
2013/12/21 10:03

Hasor 核心架构设计

这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,写了好多有关 Hasor 的文章发现却没有一篇是从整体上介绍 Hasor 是如何设计的,在这里正好补上。 一、主要软件包和插件 设计 Hasor 我觉得并不很简单,但是一旦体系设计清晰之后 Hasor 看上去就比较清晰。如果没有一个好的设计 Hasor 不会有现在这么大的一...

4
41
发表于服务端专区
2016/02/05 13:26

RSF-Center,集群模式下-协调数据结构

RSF是一个轻量化的分布式服务框架。支持点对点调用,也支持分布式调用。典型的应用场景是,将同一个服务部署在多个Server上提供 request、response 消息通知。本文主要介绍,RSF注册中心在集群模式下维护的 ZooKeeper节点数据结构,相信有了这个数据结构就不需要太费口舌去介绍RSF注册中心集群模式下如何管理集群数据了。...

2
5
发表于AI & 大数据专区
2016/11/01 18:42

RSF 分布式服务框架设计:线程模型

RSF 的线程模型 使用了 RSF 框架之后系统一共会产生至少 7 条线程,有些功能的线程可能会产生多个。我们先来鸟瞰一下所有的线程和它们的大致功能。 初一看,还真是挺复杂的,这么多线程,这么多功能。根据重要程度大致可以分为这么两类。 主要线程:监听线程、定时器线程、网络IO线程、RPC调用线程 次要线程:地址本备份...

0
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
13 评论
407 收藏
分享
返回顶部
顶部