文章目录
需求介绍
之前有做过一个物联网设备接入的项目,项目中会启动一个数据接入服务(TCP server)用来接收传感器设备上传的数据。
数据接入服务需要分布式部署,且要实现设备上行连接能够负载均衡到各台服务节点,且需要保证数据接入服务的高可用性。
架构设计
keepalived 的功能:暴露一个虚拟IP 即VIP, 检测nginx 进程状态,映射VIP 到一个可用的nginx 服务上。
用nginx 来实现负载均衡,将上行数据连接均衡到三个数据接入服务上。
具体配置
nginx 配置
三台机器nginx 配置文件一样,如下:
#user nobody;
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
stream{
upstream iot{
# 轮询规则
server 172.18.100.86:10000 weight=1;
server 172.18.100.87:10000 weight=1;
se