Skip to content

服务

一切皆服务

在GOST中客户端和服务端是相对的,客户端本身也是一个服务,如果使用了转发链或转发器,则其中的节点就被当作服务端。

服务是GOST的基础模块,是GOST程序的入口,无论是服务端还是客户端都是以服务为基础构建。 一个服务包括一个监听器作为数据通道,一个处理器用于数据处理和一个可选的转发器用于端口转发。

动态配置

服务支持通过Web API进行动态配置。

流程

当一个服务运行后,监听器会根据服务的配置监听在指定的端口并使用指定的协议进行通讯。收到正确的数据后,监听器建立一个数据通道连接,将此连接交给处理器使用。处理器按照指定的协议进行数据通讯,收到客户端的请求后,获取到目标地址,如果使用了转发器,则使用转发器中指定的目标地址,再使用路由器将请求发送到此目标主机。

路由器

路由器是处理器内部的一个抽象模块,其内部包含了转发链,域名解析器,主机映射器等,用于服务和目标主机之间的请求路由。

服务网格

服务和服务之间是独立的,而通过转发链或转发器可以在服务之间建立联系,形成一个服务网。数据可以在服务之间进行任意的跳跃和中转。利用服务网可以实现一些额外的功能,例如:负载均衡,分流等。