2.遇到存储瓶颈 磁盘或内存遇到天花板
解决数据不一致比较好的办法是采用主从或分布式集中存储,而遇到存储瓶颈就需要进行按业务键进行分片,将数据分散到多台服务器。
接入网关
接入网关又叫接入层,即接收流量的入口,在入口处做如下事情:
OpenResty环境搭建
http://openresty.org
http://openresty.org/cn/download.html
安装前准备,必须安装perl、libpcre、libssl库。
# 从系统路径中查看必备库是否已经安装
$ sudo ldconfig -v
# 安装必备库
$ sudo apt install libpcre3-dev libssl-dev perl make build-essential curl libreadline-dev libncurses5-dev
下载并解压OpenResty后进入其目录
$ wget https://openresty.org/download/ngx_openresty-1.13.6.1.tar.gz
$ tar -zxvf ngx_openresty-1.13.6.1.tar.gz
$ mv openresty-1.13.6.1 openresty
$ cd openresty
$ ./configure
默认会被安装到/usr/local/openresty目录下
# 编译并安装
$ sudo make && make install
$ cd /usr/local/openresty
启动Nginx
$ sudo /usr/local/openresty/nginx/sbin/nginx
$ ps -ef | grep nginx
$ service nginx status
Nginx启动若出现
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
说明80端口并占用,查看80端口被占用的端口并重启。原因在于nginx先监听了ipv4的80端口之后又监听了ipv6的80端口,于是就重复占用了。
$ sudo netstat -ntlp | grep 80
$ sudo killall -9 nginx
重新编辑Nginx配置文件
$ sudo vim /etc/nginx/conf/nginx.conf
listen 80;
listen [::]:80 ipv6only=on default_server;
使用curl工具或在浏览器访问默认80端口
$ curl 127.0.0.1
浏览器输入http://127.0.0.1/
将Nginx工具配置到当前用户的系统环境变量中
$ sudo vim ~/.bashrc
export PATH=$PATH:/usr/local/openresty/nginx/sbin
$ source ~./bashrc
$ cd ~
$ nginx -s reload
nginx: [alert] kill(12267, 1) failed (1: Operation not permitted)
开发文档
- https://www.nginx.com/resources/wiki/modules/lua/
ubuntu 安装 vcode 或 sublime text 编辑器
content_by_lua
$ vim /usr/local/openresty/nginx/conf/nginx.conf
location /test {
default_type text/html;
content_by_lua 'ngx.say("hello openresty")';
}
# 重启Nginx
$ /usr/local/openresty/nginx/sbin/nginx -s reload
# 浏览器访问 127.0.0.1/test
content_by_lua_file
$ vim nginx.conf
location /test {
content_by_lua_file 'html/test.lua';
}
$ vim ../html/test.lua
ngx.say("hello lua")
$ sudo /usr/local/nginx/sbin/nginx -s reload
$ curl 127.0.0.1/test
hello lua
为避免每次修改都需要重启Nginx,可在Nginx的server选项中配置lua_code_cache选项。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
1719239417928)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!