TacPort 服务架构
业务访问流程
首先我们来看一下堡垒机常见的业务访问流程:
- 用户访问到 TacPort 服务的 WEB-UI 界面,利用 API 服务执行管理操作;
- 需要连接到远程主机时,API 服务会告诉用户通过哪一个协议转发服务才能访问到对应的远程主机;
- 用户使用客户端,访问指定的协议转发服务,完成远程连接访问;
- 如果是使用WEB终端,则直接通过API连接到对应的协议转发服务,完成远程连接访问。
节点服务架构
TacPort 服务被设计成多进程形式,由节点服务管理此节点上的其它业务服务,下图为一个由单一节点构成的 TacPort 系统,请注意下图红框内部内容:
节点服务(tpnode
)是服务节点上的主控服务,节点服务根据系统配置来决定在此节点上运行那些业务服务,以及这些业务服务需要启动多少个实例(可以在一定程度上提升整个系统的高可用能力)。节点服务具备负载均衡能力,当业务服务有多个实例时,节点服务会将业务请求交由负载最低的实例进行处理。
业务服务包括以下几种(并会随支持的协议增加而增加):
(前端均为纯静态文件,已由web
[已废弃] 提供前端 WEB-UI 服务tp_api
服务内置,也可用其它服务替代,例如 nginx)api
提供 TacPort 系统的各种 API 调用的服务,可内置前端 WEB-UI 静态文件服务。ssh
提供 SSH 协议转发的服务rdp
提供远程桌面协议转发的服务vnc
提供远程网络终端协议转发的服务telnet
提供 telnet 协议转发的服务
服务节点可以根据实际业务需要,提供不同的业务服务组合。
重要
每个服务节点至少包含一个节点服务,以及一到多个业务服务。没有业务服务只有节点服务的节点是没有意义的,节点服务会拒绝启动。
高可用架构
部署多个 TacPort 服务节点,即可提供高可用能力。
除了在节点内部会由节点服务对业务请求进行负载均衡外,多个服务节点的情况下,业务请求也会被自动分配给支持此类业务的负载最小的节点上。
注意
目前节点服务的负载均衡是按业务连接数进行判断的,未来会加入节点的CPU/内存/网络流量等因素进行综合判断。