SatLB是配合SatRDA使用的高效的负载均衡服务器,通过SatLB可以实现客户端外网访问多个没有外网ip的satserver,也可以将多个 SatRDA的服务SatServer连接到一起组成高可用的集群。
345559891
374683171
SatLB部署在有固定ip的公网(云服务器),SatServer部署在没有公网IP的内网,内网的SatServer连接到公网的SatLB,在外网的客户端可以访问公网的SatLB,SatLB会把连接转到内网的SatServer上,实现访问没有公网IP的内网服务。
使用案例
实际使用中可以在云服务器部署一个SatLB,各个门店(或客户)的数据库在门店的本地机器中,门店的机器不需要有固定外网IP,在门店的机器上部署SatServer并配置连接到SatLB,其中各个门店Service名称不同。然后客户端可以通过SatLB访问到指定的门店数据
SatLB与多个SatServer部署在同一个局域网,多个SatServer连接到SatLB形成集群,客户端访问时指定SatLB的地址,SatLB会把连接均匀分配到SatServer上,实现负载均衡
使用案例
实际使用中如果客户对高可用要求较高,可以购买2台以上云主机,其中一台有外网带宽的部署SatLB,其它机器部署SatServer并配置连接到SatLB,客户端访问指定的SatLB的地址。
路径server/config/lb.cfg 用notepad++打开后,配置如下:
{
"Port": 6060,
"Log": 1
}
"Port": 6060 表示设置启动端口号为6060
"Log": 1 表示日志打开,如果为0则日志关掉,日志在调试时打开,生产环境时请关闭日志,避免卡住的风险
路径server/config/config 用notepad++打开后,配置如下:
{
"TAG": "QQ:9091178",
"Port": 5555,
"Https":false,
"Log": 1,
"SecrectKey":"",
"LBAddr":"127.0.0.1:6060",
"Service":"satrda"
}
其中LBAddr,Service参数和负载均衡相关,其它参数见SatRDA后台配置 "LBAddr":"127.0.0.1:6060" 表示SatLB的地址为127.0.0.1:6060,这里127.0.0.1表示本机IP,请换成实际IP。6060和前面配置的SatLB端口号一致 "Service":"satrda" 表示当前服务名为satrda,(这里satrda可以修改为自己指定的名称)。多个satserver可以定义相同的Service,相同Service的服务端组成一个集群,客户端通过SatLB访问指定的Service如satrda时,会连接到一个Service为satrda的SatServer上。
建议通过SatRDA后台配置的基础配置进行配置
按配置说明配置好配置文件
双击运行Server\SatLB.exe
双击运行Server\SatServer.exe
连接成功显示:
satlb connected
通过satrda驱动连接satlb访问数据库
satrda驱动支持C#、PB、VB、Delphi等程序直连程序直接转为三层。见 PB三层架构
修改示例连接字符串ls_server指向SatLB地址ls_server = "127.0.0.1:6060" 连接串加上Service=satrda 表示访问名称为satrda的服务
PB连接串如下:
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='driver=Smart ODBC Driver;Server=" + ls_server +&
";DB_NAME=" + ls_db + ";HTTPS=0;code=12345;TrimSpaces=1;Service=satrda',PBMaxBlobSize='0'"
如果我们开发了一个web服务,这个web服务部署在客户的没有公网IP的机器上,我们也可以通过satrda的服务的反射代理功能进行访问。
其中SatLB部署在云服务器上,SatServer和IIS部署在客户的服务器上,不同的SatServer配置不同的Service连接到SatLB,配置SatServer的反向代理指向IIS。配置完成后远程客户端就访问到IIS了。
其中Type是reverseProxy, Dir表示要反向代理到的地址, Url表示doc开头的调用会被代理。
如图中的配置,如果用户调用 http://127.0.0.1:5555/doc/satlb/config.html 就会调用到 http://www.satrda.com:5555/doc/satlb/config.html