阿里私有云开发总结 - HSF

HSF 是阿里云提供的 RPC 框架,提供服务器间通讯与远程调用。

摘要

专业术语:
EDAS 产品中分布式服务化子模块的名字,是一个高性能的服务化框架,全称 High Speed FrameWork。

启动模式:
HSF 包含在 潘多拉(Pandora)容器,而潘多拉容器有包含在 Ali-Tomcat,所以由 Ali-Tomcat 启动。

地址服务:
jmenv.tbsite.net,通过修改 Hosts 来实现服务注册与消费。

环境搭建

阿里云 EDAS-HSF 用户指南
开发工具用户手册

HSF 服务

举个例子

DataId GroupId HostId
com…MessageService:1.0.5_dev HSFGroupTest 10.101.4.43:39259
com…MessageService:1.0.5_dev HSFGroupTest 172.16.11.173:7829

服务唯一性:DataId + GroupId 确定一个服务
服务分布式:一个服务可以由多个 HostId

DataId

由 Service 接口类全路径 + 类名称 + 服务指定版本号构成。
其中全路径 + 类名称,是不会发生变化的。
服务指定版本号,随着代码的不停优化发版等自定义。

1
2
3
4
5
1. 本地 1.0.0 版本:com...MessageService:1.0.0_dev
2. 测试 1.0.0 版本:com...MessageService:1.0.0_test
3. 本地 1.0.1 版本:com...MessageService:1.0.1_dev
4. 测试 1.0.1 版本:...
5. ...

GroupId

由阿里云 HSF 服务端定义。

HostId

当前提供服务的机器 IP + 端口
Ali-Tomcat 启动时,应用自动注册当前提供的 HSF 服务。

常见问题

  1. HSF 提示服务不存在
    检查 HSF 服务提供的版本号与应用消费的版本号是否一致。

  2. HSF 提示服务超时
    首先,检查网络环境是否稳定。其次,检查 HSF 服务注册端代码是否需要优化。

注意

由于 HSF 是依靠服务器间网络进行调用,所以对服务间网络环境要求很高。
另外,为了不占满网络带宽影响其他服务器。
HSF 服务都默认的超时时间(30s),当某个 HSF 服务出现调用超时的情况。
代表这个 HSF 服务代码需要进行优化。