赞
踩
nginx主要是用来做反向代理的,kafka主要用来做消息队列缓存与分发。
下面在linux上简单迁移使用一下,大体架构如下图。
1、nginx
如果不考虑在nginx上加载模块的话,那在ubuntu上安装nginx直接apt就可以了。但由于我们后面需要nginx将部分消息转发至kafka,因此nginx需要以重新编译的方式装载第三方模块。这里与kafka可以选择直接装载kafka模块,也可以利用lua模块来完成;本文选择第二种方法,即先添加lua模块编译,再在lua中利用lua-resty-kafka进行请求。
参考
https://blog.csdn.net/qq_27156945/article/details/104019069
完成安装后就可以书写nginx配置文件了,可以看到我们根据url来进行转发,其中nginx对外端口为80:
【1】/TouhouProject为主功能web,转发至apache服务器,2台作负载均衡(虚拟机和宿主机)
【2】/img为静态资源,可以直接从nginx静态资源目录读取返回
【3】/toKafka为kafka队列测试,这里调用lua脚本将头部信息加入kafka队列
worker_processes auto; error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; pid logs/nginx.pid; events { worker_connections 768; multi_accept on; } http { kafka/?.lua;;"; lua_package_path "/usr/local/lua-resty-kafka-master/lib/?.lua;;"; lua_package_cpath "/usr/local/openresty/lualib/?.so;;"; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。