原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

这是一篇典型的xjjdog风格文章,扯淡比技术多,记得点赞哦。

nginx很好用,几乎每个公司都在用,它的功能主要有 反向代理负载均衡动静分离等,其中最主要的就是反向代理。

它的主要架构图如下:

客户端是无法直接访问后端的server的,因为server资源高高在上,client并没有权限。这个时候,就需要有一个proxy,进行代理,将客户端的请求进行转发,然后把结果返回给client。

为什么不能直接让client访问server呢?这就涉及到资源隔离问题。server的一些真实意图,是不想要client知晓的,比如一些受安全保护的敏感资源。也就是说,通过proxy,server想让client看到啥,client也只能看到啥。

对client来说,功能总是阉割的!甚至是篡改的!


我们将图中的元素替换一下,奇妙的事情发生了。

我们把client换成可怜的普通码农,把server换成牛x的领导,可以看到6条绿色的箭头,带着呼啸的山风,无情的指向了proxy

proxy成为了关键的资源。这个proxy要求可不简单,需要五弊三缺,上承天命,下召九幽。这么牛x的存在,当之无愧称之为nginx工程师。

nginx工程师不需要有自己的想法,但他必须记住领导的每一句话,领会领导的真实意图。传导领导想法的时候,也知道轻重,知道过滤,能够快狠准的将领导的想法广播出去。

不服不行,这还真不是一般人能做的。


哪些人能够成为nginx工程师呢?

在奴隶社会,无论一个奴隶(slave)工作多么的卖力,能力多么的出众,都没有出头之日。反而是那些拿着鞭子的监工们,更容易获得主人们的赞赏,喝酒吃肉的时候都能够想到他们。

更加奇妙的是,如果把监工们和奴隶们的工作调换一下。奴隶有可能会胜任监工的工作,而监工绝无可能胜任奴隶的工作。

这是为什么呢?总结下来可以有这么几点:

  1. 监工知道更多的内幕资源,更容易投主人所好

  2. 监工的工作属性是管理,可操作空间大

  3. 监工离权利中心更近,耳边风吹的频率要高一些

你可能会说,这是社会性质使然,现在的社会肯定没这问题。你答对了一半,问题就出在这里。由于每个公司的进化程度不一,程序员在不同的公司,获得的感受和受到的待遇,也是非常大的。你甚至会产生图中爸爸的心态。

监工一般都不是一线,离生产是比较远的,对于client的想法,只能领会一点点。这一点点传导到server那里的,正确性更难以保证。而且,监工由于领会领导意图和汇总excel,耗费了大量的精力,花在真正有意义的事上的时间,就少的可怜。那怎么办呢?只好拿client的成果当作自己的成果。

所以,闷头写代码的程序员,可能会发现自己做了很多工作,经过proxy的一加工一转达,到了领导那里就是个屁。


proxy做的没错,996的client深夜也需要调代码,proxy只需要在一旁刷TikTok就可以了。工作强度不一样,工时自然就没有衡量对比的价值。

我们可以再看proxy的3种传导场景。

场景1:

server:要加强员工文化建设。
proxy:周六、周末去团建,AA
client: WCNM

场景2:

server:公司要勤俭节约。
proxy:从明天开始不提供厕纸和开水
client: WCNM

场景3:

server:王xx同学拼搏奋斗,是公司的楷模。
proxy:开启狼性文化,明起996
client: WCNM

可以看到,这一层的proxy素质尤其重要。如果你不巧碰见了一个水货proxy,你的悲惨程度可想而知。但如果你遇到一个nice的proxy,那就珍惜他,因为所有的压力,都需要由他传导。

那一般的nginx工程师是怎么做的呢?

为了让驴拉磨,人们想出四招:蒙眼睛、捂嘴巴、堵耳朵、抽鞭子。

同样,要想proxy顺利推行,proxy就可以不让你看到某些事情;你想要发表意见的时候,使用暴力手段堵住你的嘴;当你想要聆听领导真实意图,堵住你的耳朵;当你有所懈怠的时候,使用鞭子督促你完成工作。

很多公司由于人员众多,结构复杂,就存在着多层proxy的拓扑。这种公司非常的精彩,一个proxy,可以作为另一个proxy的client,很多时候,竟然会发生server的数量比client的数量多的情况。

我很可怜这些proxy们,他们活的太累了。但由于proxy的工作特性,只需要进行完整的转发即可完成工作,不需要思考--自然有一头乌黑油亮的秀发。加上nginx工程师可以很容易打破35岁魔咒,所以这个职业依然让人趋之若鹜。

你也想做一枚nginx工程师么?

作者简介:小姐姐味道  (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。

推荐阅读:

一图解千愁,jvm内存从来没有这么简单过!
实力解剖一枚挖矿脚本,风骚操作亮瞎双眼
又一P1故障,锅比脸圆
传统企业的人才们,先别忙着跳“互联网”!
面试官很牛,逼我尿遁
又一批长事务,P0故障谁来背锅?
一天有24个小时?别开玩笑了!
《程序人生》杀机!
可怕的“浏览器指纹”,让你在互联网上,无处可藏
2w字长文,让你瞬间拥有「调用链」开发经验
996的乐趣,你是无法想象的
作为高级Java,你应该了解的Linux知识(非广告)
必看!java后端,亮剑诛仙(最全知识点)
学完这100多技术,能当架构师么?(非广告)
Linux上,最常用的一批命令解析(10年精选)
数百篇「原创」文章,助你完成技术「体系化」


nginx工程师,需要上承天命,下召九幽相关推荐

  1. Win10下SCP命令免密码上传、下载工程师服务器上的文件

    [1]本地win10操作步骤 1)在本地win10系统打开命令行工具(win+r) 2)执行命令:ssh-keygen -t rsa 3)提示输入保存路径,直接回车,默认即可. 4)提示输入密码,因为 ...

  2. 在报表上打印承上页启下页

    打印帐册的时候一般要在页尾打上"启下页"或者"转下页", 在页首打上"承上页"或"承前页",实现步骤如下: 1.先建立兩 ...

  3. 使用nginx缓存服务器上的静态文件

    一.nginx缓存的优点 如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力. 因为静态文件(比如css,js, 图片)中,很多都是不经常更新的.nginx使用proxy_cach ...

  4. 转载:工程师笔记|STM32F030在低温下无法启动

    工程师笔记|STM32F030在低温下无法启动 原创 STM32F0 STM32单片机 2021-11-30 08:30 关键词:低温,启动 问题描述 客户反馈STM32F030作为他们产品的控制芯片 ...

  5. 在Nginx/Tengine服务器上安装SSL证书

    在Nginx/Tengine服务器上安装SSL证书 阿里云SSL证书服务支持下载证书安装到Nginx/Tengine服务器上,本文介绍了证书安装的具体操作. 背景信息 本文档以CentOS 7.Ngi ...

  6. 上拉刷新下拉加载PullToRefreshLayout

    2019独角兽企业重金招聘Python工程师标准>>> java pullable代码 package com.example.lsy.tianmi.base.commonview; ...

  7. GPIO口配置为上拉,下拉输入

    每个gpio内部有三种状态:上拉.下拉.不拉. 什么时候,需要选择上拉.下拉或不拉呢 1. 如果是output,那个一般选择no pull,这样,引脚才能根据你的output数据,进行正确输出. 2. ...

  8. 交互设计|抖音为什么是上滑查看下一个视频

    去年求职的时候,作为一个产品新人,每次体验产品更多的是关注产品的设计细节,总是会觉得xx功能体验特别好,xx界面设计非常合理,xx细节引导非常场景化,非常贴心.但对于产品如何和用户发生交互,交互如何让 ...

  9. html5 div 拱桥形状制作,新型上承式拱桥的制作方法

    本实用新型属于一种拱桥体系,具体涉及了一种新型上承式拱桥. 背景技术: 拱桥以承受轴向压力为主的拱圈或拱肋作为主要承重构件的桥梁,拱结构由拱圈(拱肋)及其支座组成.中国的拱桥始建于东汉中后期,已有一千 ...

最新文章

  1. 机器学习实战读书笔记--决策树
  2. [转载]TopCoder兼职赚钱入门(Part. 1)
  3. 技术管理:技术负责人所需的四个核心能力
  4. linux yast 软件管理_系统管理工具 Spacewalk
  5. layui单选框verify_layui 单选框选中事件
  6. 【转】更改navigationController push和pop界面切换动画
  7. 源码解析:init-method、@PostConstruct、afterPropertiesSet孰先孰后
  8. matlab在化学中的应用举例,MATLAB在化学中的应用
  9. Python数据预处理之清及
  10. node.js 实现文件上传
  11. Foobar音乐播放器——最佳音乐播放器 - imsoft.cnblogs
  12. PE装机工具-U深度制作
  13. Spring Cloud基础教程 - 程序猿DD
  14. logit回归怎么看显著性_[转载]spss logistic回归方程检验
  15. MAC Sublime Text3 Preferences打不开
  16. 基于Processing的躲避球游戏
  17. Java利用itchat4j插件实现个人微信自动化
  18. 移动端地图开发技术分享交流会PPT
  19. apache 获取不到 authorization 解决办法
  20. 清华出品:最易懂的AI芯片报告!人才技术趋势都在这里

热门文章

  1. zz让创意大赛点燃大学生创新激情
  2. #力扣LeetCode720. 词典中最长的单词 @FDDLC
  3. [VC/MFC]一条语句实现程序运行时隐藏窗口
  4. 一次解决时区所有疑问
  5. php 判断键值重复合并,php数组实现根据某个键值将相同键值合并生成新二维数组的方法...
  6. redmine mysql 配置_Redmine部署
  7. pat B是A的多少倍
  8. 图纸下发后更改零部件,不更改项目号其实很简单!
  9. 如何不让tomcat在启动时弹窗_Tomcat在SpringBoot中是如何启动的
  10. 微型计算机关闭电源时,当计算机关闭电源时,哪种存储方式中的信息通常更易丢失?()...