一个高可用、高性能、轻量级的分布式服务框架。支持容灾、负载均衡、集群。一个典型的应用场景是,将同一个服务部署在多个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包。

相关资源

  • 项目介绍:http://www.oschina.net/p/Hasor-RSF
  • OSC@Git:http://git.oschina.net/zycgit/rsf
  • Github@Git:https://github.com/zycgit/rsf
  • Issues:http://git.oschina.net/zycgit/rsf/issues
  • 文章:http://my.oschina.net/u/1166271/blog?catalog=574765

Hasor-RSF —— 分布式服务框架相关推荐

  1. RSF 分布式服务框架-服务端工作原理

    为什么80%的码农都做不了架构师?>>>    这是接上一篇文章<RSF 分布式服务框架设计>之后的续作,主要是 Hasor-RSF 的请求响应工作原理以及设计思路. 非 ...

  2. RSF 分布式服务框架-传输协议层设计

    为什么80%的码农都做不了架构师?>>>    这是接上一篇文章<RSF 分布式服务框架设计>之后的续作,主要是 Hasor-RSF 协议层的设计. RSF 的协议层设计 ...

  3. RSF 分布式服务框架设计

    为什么80%的码农都做不了架构师?>>>    是时候设计一个分布式服务框架了.我先将它定名为 Hasor-RSF,"RSF"为 Remote Service F ...

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

    为什么80%的码农都做不了架构师?>>>    RSF 的线程模型 使用了 RSF 框架之后系统一共会产生至少 7 条线程,有些功能的线程可能会产生多个.我们先来鸟瞰一下所有的线程和 ...

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

    为什么80%的码农都做不了架构师?>>>    介绍:   一个轻量化的分布式服务框架,相信这类框架已经不是什么新鲜事物,可用的替代方案有很多这里就不多说了,说一下RSF解决的问题把 ...

  6. 分布式服务框架 Zookeeper -- 管理分布式环境中的数据

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookee ...

  7. 分布式服务框架-原理与实践:14---流量控制-学习笔记(理论篇)

    2019独角兽企业重金招聘Python工程师标准>>> 上次学了灰度发布,这次我们学习流控. ============================================ ...

  8. XXL-RPC v1.3.2,分布式服务框架

    Release Notes 1.泛化调用:服务调用方不依赖服务方提供的API: 2.新增通讯方案 "NETTY_HTTP": 3.新增序列化方案 "KRYO": ...

  9. 分布式服务框架 Zookeeper — 管理分布式环境中的数据

    FROM: http://www.superwu.cn/2014/11/26/1461 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Z ...

最新文章

  1. FPGA之道(78)静态时序分析(四)内部时钟相关时序分析
  2. 用户都跑了,你却还分不清流失用户和流失率
  3. Visual Studio 2019安装教程
  4. 如何在.NET上处理二维码
  5. DBA基础系列SQL Server 2014:2. SQL Server用户数据库初始化配置
  6. laradock双版本php,自己撸一个 LaraDock(使用 Docker LNMP 部署 PHP 开发环境)
  7. Codeforces Round #766 (Div. 2) D. Not Adding 数学gcd
  8. 【NOI2019】回家路线【无后效性dp状态设计】【斜率优化】
  9. Github简单使用
  10. 以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题
  11. C++开源日志库选择
  12. catia 工厂设计_关于基于CATIA的三维工厂的设计最终版实用模版
  13. sublime使用LiveReload自动刷新
  14. 20220418 如何下载网页pdf(没有下载按钮的情况,不是打印网页)
  15. 74cms 5.0.1版本文件包含漏洞复现
  16. 视频直播方案(加强版
  17. excel无法加密保存在HTML,如何excel加密后另存为后无需再输入密码/excel加密文件怎么解密?...
  18. 怎么恢复相机格式化的照片?
  19. 塔式服务器系统配置,联想TD350塔式服务器系统安装配置注意事项
  20. php consult用法,YanPHP: YanPHP——一个为API开发而设计的高性能轻量级框架

热门文章

  1. 计算机word窗口的组成,推计算机等级考试题库:一级MS Office第三章“Word窗口及其组成”(一)...
  2. ARIMA模型实例讲解:时间序列预测需要多少历史数据?
  3. FileZilla的安装流程
  4. 使用FileZilla下载Jason2和Jason3雷达高度计数据
  5. 字母使用频率统计c 语言编程,统计字母的使用频率c语言实现.doc
  6. 视频教程-PO设计模式(精讲)-软件测试
  7. android 查看UID
  8. 阿波罗java_携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试
  9. 我的四轴飞行器经验总结(一)
  10. 矩阵、方程自由度的理解