点赞
评论
收藏
分享
举报
图解软件架构之行业应用篇-NGINX分层
发表于2020-06-10 17:15

浏览 1.8k


继续软件架构系列之行业应用篇,相信很多人用NGINX,也很多人用NGINX架构不同的能力,


接下来,通过一张行业应用图,分析一下NGINX分层的含义及架构分层的必要性,上图先:


     01软件架构_CRM3.0.png


这张图咋一看会发现,好多NGINX呀,没错!这是某行业顶级的业务系统架构图,也是业内市场占有率第一的原版授权,从最外围的用户交互(好比我们使用手机app应用界面)- 第1层,到数据中心内网的接入(好比app背后的数据中心或云上部署)-第2层,再到应用负载的第3层(好比应用部署前面的SLB或接口机),进而到前端应用的能力封装和开放-第4层,再到能力中心调度池-第5层,最后到数据存储的第6层。


每一层的角色扮演都很明确和清晰,以第2层的NGINX来说,核心功能就是扮演大颗粒度的流量调度和高可靠,因此和传统的LB功能非常接近;以第3层的NGINX来说,核心功能就是扮演业务细颗粒度的流量精分和能力画像,因此和高性能的七层LB高级功能非常接近。因此,每层之间通过分层和解耦的方式,让能力封装更加专注,让精分模型更加贴近应用,某种层面上也把NGINX不同纬度的强项拆解到不同的应用场景中进行发力。


总结,好的系统或应用首先是有个好的软件架构,好的功能需要有灵活的架构支撑方能优质绽放,NGINX的灵巧性和高效适配性,既能独立承载也可混搭(例如:接入层可以是高性能的高端LB设备来统一承接,具体细项请关注下回分解)。



已修改于2023-03-09 02:05
本作品系原创
创作不易,留下一份鼓励
0学0

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
0学0
这家伙很懒还未留下介绍~
5
文章
0
问答
2
粉丝
相关文章
2018-02-20刚刚更新的nginx-1.13.9已支持HTTP/2的特性ServerPush,这个特性目的是让服务端将部分资源主动推送给浏览器,节约浏览器需要使用这些资源时再次发送Get请求的时间。很长的一段时间内Nginx都是不支持这个特性的,不过在新版本中已经可以使用,详细改动可以查看 http://hg.nginx.org/nginx/rev/641306096f5bNginx中的ServerPush提供两个选项:直接指定需要推送的资源,Nginx会直接推送(只能使用相对链接)。http2_push/css/style.css; 使用 W3C文档 规定的 Link 字段作为HTML响应。Link:;as=style;rel=preload; 然后在配置中开启http2_push_preloadon; 为了方便,我选择第一种方式,直接指定需要推送的资源文件。之后在Chrome的DeveloperTools——Network面板中可以看到我指定推送的资源状态为
点赞 2
浏览 835
背景:浏览器访问方向代理Nginx,到后端应用上,后端应用会捕获来源$http_host,重定向到$http_host/mdms路径,浏览器访问应用成功。疑问:此时Nginx的配置中,配置了一个指令proxy_set_headerHostedgp,edgp为proxy_pass的upstream_name,此配置浏览器可以正常访问;但是当我配置 proxy_set_headerHostedgp1时,浏览器访问跳转后的访问路径为http://edgp1/mdms,访问必然失败。根据上述情况,咨询过一些同事,同事认为是proxy_redirect的默认值起了作用,但是我始终不能理解!同事认为,当设置Host为edgp也就是upstream_name的话,应用服务器返回的路径为http://edgp/mdms/,由于edgp和 upstream_name 相同,所以 proxy_redirect起了作用,置换为http://1.1.1.1:10053/mdms。有熟悉这个机制的老师,可以帮忙科普一下吗?
点赞 0
浏览 1.4k
原文链接:https:nginx.orgensecurity_advisories.html发现任何 nginx 安全问题,可以通过邮件的方式发送至 security-alert@nginx.org所
点赞 0
浏览 3.7k