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 指数为
超过 的项目

Hasor-RSF 的相关博客

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

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

Hasor:生命周期

首先引用Wiki的介绍一下Hasor: “Hasor是一款开源框架。它是为了解决企业模块化开发中复杂性而创建的。Hasor遵循简单的依赖、...

Hasor 的思前想后

这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,本文主要絮叨絮叨 关于 Hasor 的一些想法,欢迎大家品评。 ...

RSF 分布式服务框架设计

是时候设计一个分布式服务框架了。我先将它定名为 Hasor-RSF,“RSF”为 Remote Service Framework 的缩写。 RSF的目的是为了...

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

在上一篇 Blog 文中,我们了解到 RSF 的整体设计一共是分了 9 个层次。这一篇 Blog 我们来专门介绍 RSF 是如何将服务发布出去...

Hasor 的技术选型

这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,本文主要介绍 Hasor 框架的技术选型。 前面已经介绍了 Haso...

用 Hasor 实现文件上传

Hasor 采用了与 JFinal 类似的方式提供 API,底层的上传机制是来自 apache commons fileupload 并将其进行大量简化后内置到 ...

Hasor 核心架构设计

这篇是承接《轻量级 Java 开发框架 设计》系列Blog文的后续文章,写了好多有关 Hasor 的文章发现却没有一篇是从整体上介绍 Ha...

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

RSF是一个轻量化的分布式服务框架。支持点对点调用,也支持分布式调用。典型的应用场景是,将同一个服务部署在多个Server上提...

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

RSF 的线程模型 使用了 RSF 框架之后系统一共会产生至少 7 条线程,有些功能的线程可能会产生多个。我们先来鸟瞰一下所有的线...

Hasor-RSF 的相关问答

还没有任何问答,马上提问

评论 (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
回复
举报
更多评论
13 评论
407 收藏
分享
返回顶部
顶部