• HSF概述


    Survive by day and develop by night.
    talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
    happy for hardess to solve denpendies.

    目录

    在这里插入图片描述

    概述

    高速服务框架HSF(High-speed Service Framework),是在阿里巴巴广泛使用的分布式RPC服务框架。

    需求:

    HSF连通不同的业务系统,解耦系统间的实现依赖。HSF从分布式应用的层面,统一了服务的发布与调用方式,从而帮助用户更加方便、快速地开发分布式应用,以及提供或使用公共功能模块。HSF为用户屏蔽了分布式领域中的各种复杂技术细节,
    远程通讯、序列化实现、性能损耗、同步与异步调用方式的实现等。

    设计思路

    实现思路分析

    1.HSF架构

    HSF作为一个纯客户端架构的RPC框架,没有服务端集群,所有HSF服务调用均是通过服务消费方(Consumer)与服务提供方(Provider)点对点进行。
    为了实现整套分布式服务体系,HSF还需要依赖以下外部系统。
    在这里插入图片描述

    服务提供方
    服务提供方绑定了12200端口,用于接受请求并提供服务,同时将地址信息发布到地址注册中心。

    服务消费方
    服务消费者通过地址注册中心订阅服务,根据订阅到的地址信息发起调用,地址注册中心不参与调用。

    EDAS地址注册中心
    HSF依赖注册中心进行服务发现,如果没有注册中心,HSF只能完成简单的点对点调用。

    服务提供端无法将服务信息对外暴露,服务消费端可能已经明确了待调用的服务,但是无法获取该服务。因此注册中心是服务信息的中介,为服务提供了注册与发现的功能。

    EDAS持久化配置中心
    持久化的配置中心用于存储HSF服务的各种治理规则,HSF客户端在启动的过程中向持久化配置中心订阅服务治理规则,如路由规则、归组规则、权重规则等,从而根据规则对调用过程的选址逻辑进行干预。

    EDAS元数据存储中心
    元数据指HSF服务对应的方法列表以及参数结构等信息。元数据对HSF的调用过程不会产生影响,因此元数据存储中心是可选的。由于服务运维的便捷性,HSF客户端在启动时会将元数据上报到元数据存储中心,方便服务运维。

    EDAS控制台
    EDAS控制台打通了服务地址注册中心、持久化配置中心、元数据存储中心等,为用户提供了服务运维功能,包括服务查询、服务治理规则管理等,提高HSF服务研发的效率、运维的便捷性。

    功能

    HSF作为分布式RPC服务框架,支持多种服务的调用方式。
    Dubbo 3.0实现了和HSF框架的技术统一。在EDAS中,可以便捷的将HSF应用升级为Dubbo 3.0应用。升级之后,HSF应用可沿用原有开发方式,还可以使用EDAS为Dubbo应用提供的更加完善的服务治理功能。
    同步调用
    HSF客户端默认以同步调用的方式消费服务,客户端代码需要同步等待返回结果。

    异步调用
    对于服务调用的客户端,并非所有HSF服务都需要同步等待返回结果。HSF提供异步调用,帮助客户端无需同步阻塞在HSF调用上。HSF的异步调用,有Future调用和Callback调用2种。
    Future调用
    客户端在需要获取调用的返回结果时,通过HSFResponseFuture.getResponse(int timeout)主动获取结果。
    Callback调用
    Future调用
    客户端在需要获取调用的返回结果时,通过HSFResponseFuture.getResponse(int timeout)主动获取结果。

    Callback调用
    Callback调用利用HSF内部提供的回调机制,在指定HSF服务消费完毕拿到返回结果时,HSF框架会回调用户实现的HSFResponseCallback接口,客户端通过回调通知的方式获取结果。

    泛化调用
    对于一般的HSF调用来说,HSF客户端需要依赖服务的二方包,通过依赖二方包中的API进行编程调用,获取返回结果。但是泛化调用不需要依赖服务的二方包,可以发起HSF调用、获取返回结果。在平台型的产品中,泛化调用的方式可以有效减少平台型产品的二方包依赖,实现系统的轻量级运行。

    调用链路Filter扩展
    HSF内部设计了调用过滤器,能够主动发现用户的调用过滤器扩展点,将其集成到HSF调用链路中,便于扩展方对HSF的请求进行扩展处理。
    使用HSF框架开发应用有Ali-Tomcat和Pandora Boot两种方式。
    Ali-Tomcat:依赖Ali-Tomcat和Pandora,提供了完整的HSF功能,包括服务注册与发现、隐式传参、异步调用、泛化调用和调用链路Filter扩展。应用程序须以WAR包方式部署。
    Pandora Boot:依赖Pandora,提供了比较完整的HSF功能,包括服务注册与发现、异步调用。应用程序编译为可运行的JAR包并部署即可

    HSF(Hyperspace Service Framework)是阿里巴巴公司开源的一款分布式服务框架,为基于分布式架构的系统提供服务治理、服务注册、服务调用、服务容错、性能监控等关键性能,支持Java、C++、.NET等多种开发语言,是阿里巴巴内部大规模分布式服务架构的核心技术之一。HSF架构的核心特点包括:

    1. 高性能:基于Netty和自研协议HSF协议,提供高效的网络通信和序列化机制,保证高性能的服务调用。

    2. 高可靠:提供服务注册和服务发现、服务容错、服务治理等特性,确保服务可靠性。

    3. 高扩展性:支持多种开发语言,支持服务动态扩容、升级等特性,可快速适应业务变化。

    4. 高可视化:提供性能监控和链路追踪等特性,方便问题排查和性能优化。

    HSF架构的设计理念是“分治、治理”,即将分布式系统中的各个服务进行分治,通过服务治理来保证系统的稳定性和可靠性。

    性能参数测试:

    1.功能测试

    2.性能测试

    这里主要是性能测试曲线,时间度量曲线测试:

    3.高并发

    接口的压力测试等

    4.高可用的测试:

    高可用的测试用工具。

    参考资料和推荐阅读

    参考资料
    官方文档
    开源社区
    博客文章
    书籍推荐

    1. https://www.alibabacloud.com/help/zh/edas/developer-reference/hsf-overview

    欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!同时,期望各位大佬的批评指正~

  • 相关阅读:
    案例:AJAX实现搜索联想 自动补全
    c高级day1(9.6) 离线软件安装,文件相关指令,文件权限相关指令,
    第一章:绪论
    [数据分析与可视化] 基于matplotlib-scalebar库绘制比例尺
    WPF 控件专题 Expander控件详解
    可视化剪辑,账号矩阵管理,视频分发,聚合私信多功能一体化营销工具 源代码开发部署方案
    【TS】object类型
    【Qt炫酷动画】6.QEasingCurve缓动曲线类
    Kotlin中object关键字的作用
    在地图上画出多个点
  • 原文地址:https://blog.csdn.net/xiamaocheng/article/details/132658880