Hasor-RSF —— 分布式服务框架
一个高可用、高性能、轻量级的分布式服务框架。支持容灾、负载均衡、集群。一个典型的应用场景是,将同一个服务部署在多个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 —— 分布式服务框架相关推荐
- RSF 分布式服务框架-服务端工作原理
为什么80%的码农都做不了架构师?>>> 这是接上一篇文章<RSF 分布式服务框架设计>之后的续作,主要是 Hasor-RSF 的请求响应工作原理以及设计思路. 非 ...
- RSF 分布式服务框架-传输协议层设计
为什么80%的码农都做不了架构师?>>> 这是接上一篇文章<RSF 分布式服务框架设计>之后的续作,主要是 Hasor-RSF 协议层的设计. RSF 的协议层设计 ...
- RSF 分布式服务框架设计
为什么80%的码农都做不了架构师?>>> 是时候设计一个分布式服务框架了.我先将它定名为 Hasor-RSF,"RSF"为 Remote Service F ...
- RSF 分布式服务框架设计:线程模型
为什么80%的码农都做不了架构师?>>> RSF 的线程模型 使用了 RSF 框架之后系统一共会产生至少 7 条线程,有些功能的线程可能会产生多个.我们先来鸟瞰一下所有的线程和 ...
- 轻量化的分布式服务框架 Hasor-RSF 盘点
为什么80%的码农都做不了架构师?>>> 介绍: 一个轻量化的分布式服务框架,相信这类框架已经不是什么新鲜事物,可用的替代方案有很多这里就不多说了,说一下RSF解决的问题把 ...
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookee ...
- 分布式服务框架-原理与实践:14---流量控制-学习笔记(理论篇)
2019独角兽企业重金招聘Python工程师标准>>> 上次学了灰度发布,这次我们学习流控. ============================================ ...
- XXL-RPC v1.3.2,分布式服务框架
Release Notes 1.泛化调用:服务调用方不依赖服务方提供的API: 2.新增通讯方案 "NETTY_HTTP": 3.新增序列化方案 "KRYO": ...
- 分布式服务框架 Zookeeper — 管理分布式环境中的数据
FROM: http://www.superwu.cn/2014/11/26/1461 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它涉及到了paxos算法.Z ...
最新文章
- FPGA之道(78)静态时序分析(四)内部时钟相关时序分析
- 用户都跑了,你却还分不清流失用户和流失率
- Visual Studio 2019安装教程
- 如何在.NET上处理二维码
- DBA基础系列SQL Server 2014:2. SQL Server用户数据库初始化配置
- laradock双版本php,自己撸一个 LaraDock(使用 Docker LNMP 部署 PHP 开发环境)
- Codeforces Round #766 (Div. 2) D. Not Adding 数学gcd
- 【NOI2019】回家路线【无后效性dp状态设计】【斜率优化】
- Github简单使用
- 以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题
- C++开源日志库选择
- catia 工厂设计_关于基于CATIA的三维工厂的设计最终版实用模版
- sublime使用LiveReload自动刷新
- 20220418 如何下载网页pdf(没有下载按钮的情况,不是打印网页)
- 74cms 5.0.1版本文件包含漏洞复现
- 视频直播方案(加强版
- excel无法加密保存在HTML,如何excel加密后另存为后无需再输入密码/excel加密文件怎么解密?...
- 怎么恢复相机格式化的照片?
- 塔式服务器系统配置,联想TD350塔式服务器系统安装配置注意事项
- php consult用法,YanPHP: YanPHP——一个为API开发而设计的高性能轻量级框架
热门文章
- 计算机word窗口的组成,推计算机等级考试题库:一级MS Office第三章“Word窗口及其组成”(一)...
- ARIMA模型实例讲解:时间序列预测需要多少历史数据?
- FileZilla的安装流程
- 使用FileZilla下载Jason2和Jason3雷达高度计数据
- 字母使用频率统计c 语言编程,统计字母的使用频率c语言实现.doc
- 视频教程-PO设计模式(精讲)-软件测试
- android 查看UID
- 阿波罗java_携程Apollo(阿波罗)配置中心的Java样例客户端启动和调试
- 我的四轴飞行器经验总结(一)
- 矩阵、方程自由度的理解