为了账号安全,请及时绑定邮箱和手机立即绑定

【花式填坑14期】 | 如何巧用中间件,Get√工作中的Nginx技能?

标签:
Java Linux 测试

图片描述


Nginx作为一个轻量级、高性能的Web中间件服务,究竟哪些技能点备受青睐?如何巧妙避地开中间件中的大小坑,避免反复出现的问题?欢迎参与话题与陈杰老师共同讨论,如何在工作中用好、用精Nginx中间件。

花式填坑活动是慕课网开展的在线答疑,目前仅限PC端用户参与。每期1个主题,1位大牛嘉宾。用户可围绕当期话题进行提问,嘉宾将在规定时间内针对问题进行详细解答。

以下内容精选在花式填坑第14期。


Q:Nginx现在挺火的,想问问老师大家都是怎么使用的?

JesonChen:企业怎么使用,其实最多的就是代理服务,基于代理可以配置负载均衡、缓存、动静分离。这就不作详细介绍,我的课程都会介绍,下面我说说个人巧用,来举个简单例子!

我们经常需要在服务器、或者局域网知道自己的出口IP,大部分的人都会通过打开浏览器,去ip138查找。这个需求,只需要你有一台公网的Nginx服务,配置几个变量就可以把你的出口IP和地域信息return回来,用起来挺方便的。

Q:ng 处理并发

JesonChen:首先,处理并发不能光靠ng(Nginx),也不是说Nginx用了并发量就能上去,得看你怎么用,或者说什么场景中。以我经验,Nginx单台承受5000-10000的并发是没有问题的。

淘宝双十一时,我们压测的接口就是用的tegine(基于nginx开源)来作中间件代理后端服务得出得数据。

Q:静态资源在nginx端的缓存生产环境是否已经不在大面积的使用?

JesonChen:很好的问题,对于这个问题,我从下面几个方向来回答您:

1、确实,现在虚拟云的逐步推广,CDN最早整合到了云环境的应用中,但不代表nginx作为静态资源的缓存减少,因为CDN的服务商,也会用到复合自己要求的静态资源web服务,如nginx就是一款非常适合作静态资源缓存的例子。

2、对于已经使用了cdn的技术公司,nginx虽然不用作边缘节点的缓存服务,但是同样可以作很好的源站服务。

3、对于静态资源缓存,我们可以按照类型,或者大小来分,可以区分不同种类,业务要求时效性不同,对于缓存的策略、可控性强度也是不同的,CDN往往更多的用户大文件、时效性更新慢的场景中,对于时效性高的还是需要我们自建缓存服务的。

Q:使用Nginx时,遇到过哪些坑?

JesonChen:坑一、因为Nginx的access日志磁盘不够用,把磁盘换成阿里云文件存储盘,导致nginx处理性能下降,高峰期前端出现502,一直拿了后台服务找问题,哪知是这货惹得祸。

坑二、Nginx配置HTTPS服务,openssl设置没设置过期,导致网站使用一个月后,证书需要失效,坑大了,当时前台的版本都发布出去了。工作这些年,主要用的Nginx,遇到过还有一些,但绝大部分不是Nginx本身的问题,也都有方法可以解决。

Q:netty和nginx哪个更有价值用于java

JesonChen:netty是JAVA中网络应用程序框架,用于Socket通信这层开发,而Nginx更多的一个常见于HTTP协议层代理服务和静态资源web服务,从性质上不一样,决定使用场景会不一样。

Q:Nginx的性能优势,在实际项目操作中是否够轻便?能否举例

JesonChen:最近我遇到的真实场景:是我技术支持的一家公司,他们使用的是Apache+DSO+php的中间件模式,apache采用的是prefox的进程的工作方式,这种模式一到高峰期数据库连接堆积,前端负载负荷过高,导致这家公司一周六日晚上高峰期的就服务响应不了。

因为php的进程工作方式,无法支持真正意义的长连接,如果用长,连接高,不能快速释放、不断堆积容易导致数据库连接堆积。加上apache本身的进程模式,apache处理响应效率低下,导致用户一个连接就会产生一个长连接请求。最终被这层拖垮。

(结论出自单接口的压测,lnmp的处理性能会高出2-3倍、而且在没有使用http cahce的情况下)

所以我建议他们切换接入层方案,在将核心接口改用Nginx+Fastcgi的方式后,此问题得到解决。


讲师介绍,个人主页查看

JesonChen,互联网公司技术负责人、架构师,同时于多家企业兼任技术指导。曾任职于凤凰网,曾就职于阿里文娱任职python开发、曾就职于阿里妈妈任职资深系统工程师。

点击查看更多内容
18人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1000万
获赞与收藏
5105

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消