第 89 期:垃圾人定律
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
@Author : Lewis Tian (taseikyo@gmail.com)
@Link : github.com/taseikyo
@Range : 2024-11-17 - 2024-11-23
| |
本文总字数 4195 个,阅读时长约: 6 分 3 秒,统计数据来自:。
Instagram 的早期架构(英文)
分片不等于分布式(英文)
如何查看 Linux 系统的安装时间(英文)
WSL 忘记 root 密码(Ubuntu)
垃圾人定律
从 2010 年 10 月到 2011 年 12 月,Instagram 在仅仅一年的时间内从 0 到 1400 万用户,期间仅有 3 位工程师。
他们通过遵循3个关键原则并拥有可靠的技术堆栈来做到这一点。
保持事情非常简单
不要重新发明轮子
尽可能使用经过验证的技术
Keep things very simple.
Don’t re-invent the wheel.
Use proven, solid technologies when possible.
Instagram 早期是租用 AWS 的 EC2 服务器。
1、前端
Instagram 2010 发布,,而 Swift 于 2014 才发布,所以可以假设 Instagram 是使用 Objective-C 和 Uikit 等其他内容组合编写的。
2、负载均衡
Instagram 使用了亚马逊的弹性负载平衡器,他们有 3 个 NGINX 实例。
3、后端
Instagram 的应用程序服务器使用了 Django,它是用 Python 编写的,将 Gunicorn 作为 WSGI 服务器。
WSGI(Web Server Gateway Interface)将请求从Web服务器转发到Web应用程序。
Instagram 使用 Fabric 在许多实例上同时同时运行命令。
4、数据库
Postgress
5、图片存储
Amazon S3 & Cloudfront
6、缓存
redis & memcached
redis 用来存储 图片 ID 到用户 ID 的映射,memcached 用来缓存数据库读到的数据
7、push 推送 & 异步任务
push 通知是使用 PYAPN 发送的。PYAPNS 是一种开源的,通用的 Apple Push Notification Service(APNS)提供商。
8、监控报警
Instagram 使用 Sentry(开源 Django 应用程序)实时监视 Python 错误
Munin 用于绘制整个系统范围的指标并提醒异常。Instagram 有一堆自定义的 Munin 插件来跟踪应用程序级别的指标,例如每秒发布的照片
pingdom 用于外部服务监控
Pagerduty 用于处理事件和通知
9、总体架构
分片是一种在几个独立数据库实例上分配与访问数据的技术。该方法通过将原始数据分成多片来利用水平可扩展性,然后将其分布在多个数据库实例上。
1、分片数据库
每个分片解决方案都一个关键组件,该组件可能有不同名字: coordinator, router, or director
它将客户端请求映射到特定的分片,然后将其映射到相应的数据库实例。
如果客户端要将新记录插入到购物车中,则请求首先转到 coordinator 。 coordinator 将记录的主要键映射到其中一个分片,然后将请求转发到负责该分片的数据库实例:
2、分布式数据库
与分片数据库解决方案一样,分布式数据库也采用类似的分片技术来分配与访问数据,这些数据和负载在一组数据库节点上分发。但是,与分片解决方案不同,分布式数据库不依赖于协调器组件。
分布式数据库建立在没有共享的体系结构上,该架构没有协调员:
集群中的所有节点彼此都知道,通过直接通信,每个节点可以将客户端请求路由到适当的分片所有者。此外,他们可以执行和协调多节点事务。当扩展到更多节点时,群集会自动重新平衡并分裂分片。节点维护数据的冗余副本(基于配置的复制因子),即使某些节点失败,也可以继续操作而无需停机。
使用 stat / | awk '/Birth: /{print $2 " " substr($3,1,5)}'
命令即可查看安装 Linux 系统的确切日期:
如果想简单点,直接用 stat /
命令并查看“Birth”行:
另一个方法是 fsname=$(df / | tail -1 | cut -f1 -d' ') && tune2fs -l $fsname | grep 'created'
,但是需要先切换为 root 用户:
下面是各种发行版自己的命令:
Debian / Ubuntu
Fedora / Rocky Linux / AlmaLinux
Arch Linux
1、问题描述
Windows 下的 WSL(Ubuntu)忘记了 root 密码,无法使用管理员权限。
2、解决方法
关闭 Ubuntu 窗口。
打开 Windows 的 Powershell 或 cmd, 以 root 默认登陆 WSL。
修改密码
输入密码,确认密码,修改成功。
毕业于宾夕法尼亚州大学心理学专业和耶鲁大学经济学专业的大卫·波莱在《垃圾车法则》一书中,把进入病态的垃圾情绪称为“垃圾车定律”,也叫“垃圾人定律”,意思是有的严重不良情绪的人就像一台“垃圾车”,他们到处跑来跑去,身上充满了负面情绪、垃圾情绪。
垃圾人定律形容存在很多负面垃圾情绪缠身的人,当他们身上的负能量不断堆积,就需要找个地方倾倒,有时候被人刚好碰上了,垃圾就往人身上丢。
“垃圾人”通常有4个表现:一点小事火冒三丈,控制不住脾气;喜欢计较小事,纠结无关紧要的细节,进而找茬生事;看什么都不顺眼,很容易被某些话语、现象激怒;对很多人都感到不满,一言不合就翻脸。
大卫·波莱通过自己的经历和故事,告诉人们应该避让“垃圾车”,避免他向你倾倒垃圾。他给出的办法比较好理解和操作。
他首先提到的是“惹不起,躲得起”,不值得与这样的人去争斗,自身表现“绅士”一些。他的表述是:“与垃圾车擦身而过,是幸福和成功的钥匙。”他提出:自身要少发牢骚,“在指责抱怨之前,扪心自问:发了牢骚能有什么益处?会改善我现在的境况吗?能让自己变得好受点儿吗?”要知道:喋喋不休的抱怨只会讨来别人的厌烦,使自己所处的环境更为不利。
在做到这些的基础上,如果能帮助别人停止倾倒垃圾,自然就更好了。想要做到这一点,很不容易,那就需要善于“寻找并专注于甚至放大他人的优点,传递正面的力量”。如有机会,等待并观察对方,待他心情良好时,尝试沟通(这一点主要适用于生活中难以规避的那些人)比如,你的生活、工作伙伴等等。即便你不喜欢那个人,但你仍须更多地了解他,只有这样,才能帮助他减少对你的情绪干扰。不过,他提到,也要清醒地认识到:生活中永远会有层出不穷的垃圾车。“每个人,在某个时刻都可能会成为垃圾车,这就是生活。”
在现实工作和生活中,每个人每时每刻都会有积极的或消极的情绪体验,有许多事儿可能会左右心情变化,情绪是人对客观事物是否符合自身需要与愿望的体验,是人的需要得到满足与否的反映。谁能真正做自己情绪的主人,谁就有更强的社会适应能力,也更容易掌握成功和幸福的机会。每个人都应该培养积极的人生态度,建立乐观的情绪,提升自我功能,去感受生活的美好。
*Photo by on
异步任务使用 , Gearman 用于多个异步任务,例如向所有用户的关注者推出活动(如发布的新照片)
| |