《Node Framework for VCL》(三)节点服务


节点服务 NODE SERVER 简介

​ Node Server 是基于《Node Framework for VCL》框架下的Windows服务,基于这个框架,所有信息交换和操作都通过Node Server来完成。每一个Node Server可视为一个数据交换和处理节点,由许多这样的节点组成服务群。

​ 根据应用规模可以使用一个或多个Node Server来组成构建面向行业、机构、企业的服务。


安装

​ Node Server 是绿色软件,复制到Windows操作系统任意目录即可配置运行。

​ Node Server 对硬件要求不高,不需要专用服务器亦可运行。如果业务并发量大,对网络有一定要求。

​ Node Server 可视应用情况部署在内网或公网使用。

​ 部署在内网则只能在机构、企业内网中使用,分配给其固定内网IP即可。

​ 部署在公网则能使用互联网的地方均可以使用,需要固定的公网IP或域名。

启动

​ Node Server是两栖服务,可以服务模式运行也可界面模式运行。

  • 界面模式

    ​ 界面模式不会随Windows自动启动,主要用于前期配置和调试,配置无误后即可以服务模式运行。

    ​ 运行界面模式只要在NodeServer.exe 后加参数 -UI 即可;

    ​ 首次运行须通过界面运行,确保产生服务器ID编号和做关相关配置即可通过菜单安装到系统,以服务模式运行。

    ​ 如果服务启动失败,请检查配置的端口号是否被其它服务或应用占用。

  • 服务模式

    ​ 遵循Windows服务规范,可以通过Windows命令行(管理员模式)sc 和 net 指令来管理服务。

    ​ 服务模式安装成功后可以Windows的服务面板中找到Node Server, 服务名为 svrNode 。

    ​ 服务模式安装成功后根据服务配置可随Windows自动启动服务。

本章只做初步介绍,具体的安装和配置待后期补《安装、配置手册》

配置

​ 服务配置参数保存在服务目录 NodeServer.ini 文件中。

  • 配置方式

    ​ 支持多种配置方式,以下方式均可。

    ​ 通过编辑服务 ini 文件来更改配置;

    ​ 通过服务配置界面来更改配置;

    ​ 通过运维客户端来更改配置;

  • 动态配置

    ​ 服务运行过程中也可动态更改配置。

  • 远程配置

    ​ 通过运维客户端远程连接运行中的服务来更改配置。
    在这里插入图片描述

管理

日志管理

​ Node Server 服务所有动作都会记入日志,日志有文本型和数据型两种,可单独指定也可同时支持。文本型日志以明文保存,主要用于服务器输出调试; 数据型日志加密保存,可供管理员远程查看。日志有以下特点:

  • 日期生成

    ​ 每日生成日志,以年月日格式命名,如:

    ​ 文本型 2019-03-01.log

    ​ 数据型 2019-03-01.dat

  • 自动清理

    ​ 根据配置设定,服务启动后会自动清理指定天数前的日志,天数为0不清理。

  • 远程查看

    ​ 可通过运维客户端远程调阅和保存服务端的日志。

在这里插入图片描述

插件管理

​ Node Server 除必要的功能外,所有业务实现都通过插件包来完成。

  • 插件热更新

    功能包以热加载的形式提供服务,加载后可随时重新更新,无须停止服务,NodeServer会根据配置在一定时间内重新热加载功能包。

  • 能力延展性

    NodeServer能提供什么样的服务不由其本身决定,而由加载的插件包决定。

    加载的插件包越多,NodeServer的能力延展性越高。

服务

通讯服务

NodeServer包含以下通信协议,每种协议有自己的特点或应用场景,可自由选择搭配使用。

IOCP

​ 高效高负载的通信协议,业务数据传输,文件流传输主协议,VCL框架下主要使用协议。

​ 目前针对IOCP协议已完成指令请求、执行类,基于这个指令类已实现部分指令集。

​ 非常高效的一种通信协议,前前公司为国企事业单位研发的的系统使用的核心通信协议,从使用了近10年的效果看较好。

​ 本IOCP服务端主要参考了网友(天地弦)的 DIOCP - V5,重写解析和加密器,客户端使用INDY控件自己封装写了IOCP连接类,加入了通信验证,以保证数据传输安全。

DSTCP

​ 目前构想为: 主要用于远程设备间的消息传输和异步呼叫。(指令集待定)

DSHTTP

​ 目前构想为: 主要用于对接其它第三方平台或设备以进行交互。(指令集待定)

数据服务

​ 采用 FireDAC 数据引擎,支持几乎所有主流数据库。

​ 在一个Node Server上,支持配置多个不同类型、不同架构的数据库,以数据帐套的形式存在。

​ 在一个Node Server上,可实现不同数据帐套间的数据抽取、转换和迁移(后期再实现)。

​ 数据帐套可通过配置程序,在本地或远程动态配置、随时创建、编辑、上下线。

数据连接池

​ 虽然 FireDAC 本身支持池化,但并不是所有数据库都支持,而且其池化配置较复杂且不友好。因此写了个数据池管理类,不管哪种数据库都由该类接管池化能力。

传输服务

​ 通过 Node Server 进行文件传输。

​ 传输能力可以细分出以下应用场景:

基本的文件上传下载

​ 应用客户端可通过此能力上传、加密、管理、下载自己的公用或私有文件。

服务端能力扩展更新

​ 运维客户端可通过此能力动态发布、部署、级联更新功能扩展插件。

客户端应用更新

​ 运维客户端可通过此能力动态发布、级联更新针对于应用的客户端包。

​ 应用客户端可通过此能力在执行期动态下载、更新对应于本应用的客户端包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值