HSF框架基本介绍

article/2025/10/5 4:42:47

HSF介绍

HSF全称high speed frameworkd,是Alibaba内部使用的RPC框架,最初与Dubbo进行内部竞争,由于多方面的原因最终选择了HSF。
主要原因如下:

  1. HSF代码量少一些,轻量一些,代码量大概2/3, Dubbo设计更加全面功能更多,更容器扩展和替换开源组件。
  2. HSF的netty + hession传输性能更高, Dubbo内部filter过多也进一步降低RPC的性能.
  3. HSF需要Jboss容器绑定,侵入更大,需要定制classloader等内部组件,dubbo更容器部署在通用Java环境。
    HSF的比较特点性能更高,更多内部定制化的组件绑定,让RPC的性能降到最低,运维成本降到最低,对立阿里来说是重要的。
    Dubbo特点是功能全面并且对开源组件的扩展更加容易,方便二次开发。所以比较适合推广到开源生态,因此阿里决定重新维护开源Dubbo社区提升影响力。
    HSF是一个点对点的调用框架,不存在通信的总线和服务集群。

HSF主要架构

  1. 地址注册中心(服务发现)
    注册中心就是服务的提供方需要指定服务本身的服务名称等一些服务注册信息.并将该服务注册到注册中心,做到服务发现的功能。
    与开源社区的zookeeper做服务发现一样的道理。在阿里内部现在采用的叫configServer的中间件进行维护,该节点就是内存存储,不持久化。
  2. 配置服务器
    rpc调用可能还有一些运维上的需求,例如超时以及版本号与不同环境的隔离.路由规则,权重等等有该节点进行控制,现在由diamond配置中间件承担。
  3. 元数据持久化节点(统一管理)
    元数据就是给运维提供方便,属于非必要节点,能够统一的管理服务,做到实时的监控运维等工作。
  4. HSOPS控制台
    基于3去做到可视化的运维工具。
  5. 服务提供者
  6. 服务消费者

如图:
在这里插入图片描述
主要调用逻辑
步骤如下:

  1. 服务提供者启动hsf容器,上报服务信息到服务注册中心.
  2. 服务提供方上报元数据信息。
  3. 服务消费方启动hsf容器,拉取提供者信息.
  4. 拉取配置服务信息进行调用。

HSF的服务注册有很多种,包括最早的xml,需要绑定alitomcat的sar环境。
后面支持lightAPI的方式直接main函数的启动不需要spring容器.
再到现在springboot注解注入的方式。
逐渐做到了与本地调用十分类似的使用方式。

demo

这里演示最简单的注册与调用服务的方式

  /*** ligthAPI的方式*/ServiceFactory serviceFactory = ServiceFactory.getInstance();XXService xxService = (XXService) serviceFactory.consumer("XXService").service("XXService").version("1.0.0.daily").group("HSF").subscribe();UmsResult<Void> result = xxService.request(request);

总结

HSF作为阿里内部高性能的RPC框架,其优点是轻量,高性能,运维成本低的特性,为大规模集群的应用提供了好的基础。
如果要完成更完善的分布式系统的服务治理等功能需要更多外围的组件,这些可能需要二次开发,如果需要比较完整的生态dubbo或则spring boot比较好的一点,
因此不同的场景选择不同的框架和组件才是硬道理。


http://chatgpt.dhexx.cn/article/7Smb1P1N.shtml

相关文章

HSF简介

产品概述 HSF (High-speed Service Framework)&#xff0c;高速服务框架&#xff0c;是在阿里巴巴内部广泛使用的分布式 RPC 服务框架。 HSF 作为阿里巴巴的基础中间件&#xff0c;联通不同的业务系统&#xff0c;解耦系统间的实现依赖。HSF 从分布式应用的层面&#xff0c;统…

企业流程篇--项目管理(七)

线索到现金(LTC): 介绍: ​ LTC-- Lead To Cash。即从线索到现金,端到端的项目管理流程。 ​ 1)LTC涵盖从线索到现金的所有项目阶段,是销售、工程、服务等业务主流程和人事、财务、项目管理、业绩管理等管理流程的集成。 ​ 2)把目标聚焦于满足客户需求、可交付、可回…

一个完整的软件项目管理流程包括什么?有什么软件项目管理工具?

软件项目管理全流程&#xff0c;及各环节方法&#xff0c;辅助工具。 项目的类型不同&#xff0c;其流程必然会不一样&#xff0c;关于通用项目管理的流程其他回答讲述已经非常完善&#xff08;个人推荐这篇&#xff1a;泛项目管理流程包括哪些&#xff1f;&#xff09;&#…

系统集成项目管理工程师知识点集锦

系统集成项目管理工程师知识点集锦 1. 项目的特点有哪些&#xff1f;2. 项目的组织方式有哪些&#xff1f;分别具有什么优缺点&#xff1f;3. 项目管理过程组有哪些&#xff1f;4. 怎么样才能成为一位优秀的项目经理&#xff1f;5. PMO的主要职能有哪些&#xff1f;6. 项目经理…

第4章 项目整体管理 与 第16章 项目变更管理

第4章 项目整体管理 与 第16章 项目变更管理 了解项目管理知识体系叙述的结构 子过程、ITTO、过程组、知识领域 什么是项目整体管理(P-187) 了解 项目整体管理&#xff1a;包括为识别、定义、组合、统一和协调各项目管理过程组的各种过程和活动而开展的过程与活动。兼具统一、…

项目范围管理

> # 范围管理 过程 输入 输出 工具 技术 项目范围管理 6个过程 1.编制范围管理计划过程 定义、确认、控制项目范围的过程进行描述 2.收集需求 为实现项目目标&#xff0c;明确、记录项目干系人相关需求的过程 3.定义范围 详细描述产品范围和项目范围&#xff0c;编制项目范围…

项目研发管理流程

之前公司我除了带架构和业务研发团队&#xff0c;PMO也在我这边管理&#xff0c;对于200多人的研发团队&#xff0c;下面介绍下整个研发管理流程&#xff0c;瀑布式开发模式&#xff0c;虽然比较慢&#xff0c;不过很稳&#xff0c;适合传统企业。 1、立项阶段 发起人提出需求&…

项目管理复习题

蓝字位注释&#xff0c;红字为错误原因&#xff0c;紫字为重点 本复习题链接&#xff1a;https://pan.baidu.com/s/1ZJ4l6mKxAt9dqhw0Qa58xA 提取码&#xff1a;j4jz 笔记&#xff1a;https://blog.csdn.net/weixin_42139734/article/details/108661001 第一章 一、填空题…

项目管理第四章项目整合管理

项目管理第四章项目整合管理 项目整合管理&#xff1a;项目整合管理包括为识别、定义、组合、统一与协调项目管理过程组的各过程进项目管理活动而进行的各种过程和活动。项目整合管理包括以下选择&#xff1a;资源分配&#xff0c;平衡竞争需求&#xff0c;研究各种备选方案&a…

软件项目管理知识点总结

软件项目管理 第1章 软件项目管理概述1、项目的基本概念&#xff08;注意与日常运作的区分&#xff09;和特征&#xff1b;2、软件项目及特征&#xff1b;3、项目管理的基本概念&#xff1b;4、项目管理知识体系&#xff08;以2017年发布的PMBOK6的十个知识领域为准&#xff09…

项目管理工具推荐

文章目录 禅道官方说明功能特点 JIRA功能特点 TaigaWorktile功能特点 禅道 官方说明 禅道 项目管理软件 是国产的开源项目管理软件,专注研发项目管理,内置需求管理、任务管理、bug管理、缺陷管理、用例管理、计划发布等功能,实现了软件的完整生命周期管理。 细分需求、任务、…

项目整体管理

> 项目整体管理 定义 是对项目管理过程组中的不同过程和活动进行识别、定义、整合、统一、协调的过程 负责管理项目的需求、范围、进度、成本、质量、人力资源、沟通、风险和采购 主要有6个过程 1.制定项目章程 编写项目章程的过程&#xff0c;通过发布项目章程&#xff0c;…

大学生创新项目管理系统

word完整版可点击如下下载>>>>>>>> 大学生创新项目管理系统.rar_创新项目管理系统-互联网文档类资源-CSDN下载内容包括详细设计文档word版&#xff0c;附带开题报告和相关PPT等文档&#xff0c;供大家参考学习。也可在本博客主页找到创新项目管理系统更…

项目质量管理过程

项目质量管理包括执行组织确定质量政策、目标与职责的各过程和活动&#xff0c;从而使项目满足其预定的需求。项目质量管理在项目环境内使用政策和程序&#xff0c;实施组织的质量管理体系&#xff1b;并以执行组织的名义&#xff0c;适当支持持续的过程改进活动。项目质量管理…

软件项目管理

目录 前言项目管理概述项目与软件项目项目管理与软件项目管理项目管理知识体系过程管理与软件项目管理的关系软件项目管理过程 项目初始-项目确立项目立项项目招投标项目授权 敏捷开发总结scrum模型——迭代式增量软件开发过程术语文档scrum过程 XP模型 项目初始——生存期生存…

软件项目全流程管理

1、背景&#xff08;个人絮叨&#xff0c;只想看干货的请直接跳转至第二节&#xff09; 本人工作8年&#xff0c;最初以研发身份进入软件行业&#xff0c;1年后内部转岗&#xff0c;开始接触项目管理、产品管理&#xff0c;一切从0开始。 当了两年助理&#xff0c;期间自学了…

项目管理-产品开发流程

一个产品的开发离不开项目管理&#xff0c;在之前的几家公司中&#xff0c;实实在在的遇到的几个现实问题&#xff0c;也是目前很多小公司存在的问题。 老板想开发一款产品&#xff0c;但是不知道从何入手&#xff0c;到处在找方案&#xff0c;平时工作明明很多事情要做&#…

禅道项目管理流

禅道项目管理流程 1、禅道项目管理流程图 2、基本步骤 1、添加账号 2、创建产品 3、创建需求 4、创建项目&#xff0c;关联产品&#xff0c;设置团队 5、关联需求 6、分解任务 7、创建bug 8、提交测试 9、创建发布 3、创建需求 模板&#xff1a;作为禅道用户&#xff0c;我…

测试管理及项目测试流程

目录 基于需求测试管理文件压缩项目1.项目启动&#xff0c;介入了解需求2.需求分析3.制定测试方案&#xff08;计划策略&#xff09;4.测试执行流程5.编写测试用例6.测试执行7.输出测试报告8.版本发布9.项目总结 练习&#xff1a;百度云盘测试用例 基于需求测试管理 测试目标&…

使用禅道管理项目流程

使用禅道管理项目流程 1 添加该流程中的角色并设置其部门 以管理员身份登录。进入组织视图选择部门维护。在部门维护页面&#xff0c;维护公司的组织结构即可。 部门创建之后&#xff0c;下一步的操作就是往系统中添加用户。步骤如下&#xff1a; 进组织视图选择用户列表然后…