标签:参数 通知 概述 过滤器 数据存储 结果 序列化 ice 轻量
HSF 概述
高速服务框架 HSF (High-speed Service Framework),是在阿里巴巴内部广泛使用的分布式 RPC 服务框架。
HSF 联通不同的业务系统,解耦系统间的实现依赖。HSF 从分布式应用的层面,统一了服务的发布/调用方式,从而帮助用户可以方便、快速的开发分布式应用,以及提供或使用公共功能模块。为用户屏蔽了分布式领域中的各种复杂技术细节,如:远程通讯、序列化实现、性能损耗、同步/异步调用方式的实现等。
HSF 作为一个纯客户端架构的 RPC 框架,本身是没有服务端集群的,所有的 HSF 服务调用都是服务消费方(Consumer)与服务提供方(Provider)点对点进行的。然而,为了实现整套分布式服务体系,HSF 还需要依赖以下外部系统。
服务提供方会绑定一个端口(一般是12200),接受请求并提供服务,同时将地址信息发布到地址注册中心。
消费服务提供方提供的服务,服务消费者通过地址注册中心订阅服务,根据订阅到的地址信息发起调用,地址注册中心作为旁路不参与调用。
HSF 依赖注册中心进行服务发现,如果没有注册中心,HSF 只能完成简单的点对点调用。因为作为服务提供端,没有办法将自己的服务信息对外发布,让外界知晓;作为服务消费端,可能已经知道需要调用的服务,但是无法获取能够提供这些服务的机器。而注册中心就是服务信息的中介,提供服务发现的能力。
持久化的配置中心用于存储 HSF 服务的各种治理规则,HSF 客户端在启动的过程中会向持久化配置中心订阅各种服务治理规则,如路由规则、归组规则、权重规则等,从而根据规则对调用过程的选址逻辑进行干预。
元数据是指 HSF 服务对应的方法列表以及参数结构等信息,元数据不会对 HSF 的调用过程产生影响,因此元数据存储中心也并不是必须的。但考虑到服务运维的便捷性,HSF客户端在启动时会将元数据上报到元数据存储中心,以便提供给服务运维使用。
EDAS 控制台通过打通地址注册中心、持久化配置中心、元数据存储中心,为用户提供了一些列服务运维功能,包括服务查询、服务治理规则管理等,旨在提高 HSF 服务研发的效率、运维的便捷性。
HSF 作为分布式 RPC 服务框架,支持多种服务的调用方式。
HSF客户端默认以同步调用的方式消费服务,客户端代码需要同步等待返回结果。
对于服务调用的客户端来说,并不是所有的 HSF 服务都需要同步等待返回结果的。对于这些服务,HSF 提供异步调用的形式,让客户端不必同步阻塞在 HSF 调用操作上。HSF 的异步调用,有 2 种:
HSFResponseFuture.getResponse(int timeout)
主动获取结果。HSFResponseCallback
接口,客户端通过回调通知的方式获取结果。对于一般的 HSF 调用来说,HSF 客户端需要依赖服务的二方包,通过依赖二方包中的 API 进行编程调用,获取返回结果。而泛化调用是指不需要依赖服务的二方包,从而发起 HSF 调用、获取返回结果的方式。在一些平台型的产品中,泛化调用的方式可以有效减少平台型产品的二方包依赖,实现系统的轻量级运行。
HSF 支持将服务以 HTTP 的形式暴露出来,从而支持非 Java 语言的客户端以 HTTP 协议进行服务调用。
HSF 内部设计了调用过滤器,并且能够主动发现用户的调用过滤器扩展点,将其集成到 HSF 调用链路中,使扩展方能够方便的对 HSF 请求进行扩展处理。
使用 HSF 框架开发应用包含 Ali-Tomcat 和 Pandora Boot 两种方式。
标签:参数 通知 概述 过滤器 数据存储 结果 序列化 ice 轻量
原文地址:https://www.cnblogs.com/jiliunyongjin/p/12700338.html