从Gitlab误删除数据库想到的

昨天,Gitlab.com发生了一个大事,某同学误删了数据库,这个事看似是个低级错误,不过,因为Gitlab把整个过程的细节都全部暴露出来了,所以,可以看到很多东西,而对于类似这样的事情,我自己以前也干过,而在最近的两公司中我也见过(Amazon中见过一次,阿里中见过至少四次),正好通过这个事来说说一下自己的一些感想和观点吧。我先放个观点:你觉得有备份系统就不会丢数据了吗?

事件回顾

整个事件的回顾Gitlab.com在第一时间就放到了Google Doc上,事后,又发了一篇Blog来说明这个事,在这里,我简单的回顾一下这个事件的过程。

首先,一个叫YP的同学在给gitlab的线上数据库做一些负载均衡的工作,在做这个工作时的时候突发了一个情况,Gitlab被DDoS攻击,数据库的使用飙高,在block完攻击者的IP后,发现有个staging的数据库(db2.staging)已经落后生产库4GB的数据,于是YP同学在Fix这个staging库的同步问题的时候,发现db2.staging有各种问题都和主库无法同步,在这个时候,YP同学已经工作的很晚了,在尝试过多个方法后,发现db2.staging都hang在那里,无法同步,于是他想把db2.staging的数据库删除了,这样全新启动一个新的复制,结果呢,删除数据库的命令错误的敲在了生产环境上(db1.cluster),结果导致整个生产数据库被误删除。(陈皓注:这个失败基本上就是 “工作时间过长” + “在多数终端窗口中切换中迷失掉了”

在恢复的过程中,他们发现只有db1.staging的数据库可以用于恢复,而其它的5种备份机制都不可用,第一个是数据库的同步,没有同步webhook,第二个是对硬盘的快照,没有对数据库做,第三个是用pg_dump的备份,发现版本不对(用9.2的版本去dump 9.6的数据)导致没有dump出数据,第四个S3的备份,完全没有备份上,第五个是相关的备份流程是问题百出的,只有几个粗糙的人肉的脚本和糟糕的文档,也就是说,不但是是人肉的,而且还是完全不可执行的。(陈皓注:就算是这些备份机制都work,其实也有问题,因为这些备份大多数基本上都是24小时干一次,所以,要从这些备份恢复也一定是是要丢数据的了,只有第一个数据库同步才会实时一些

最终,gitlab从db1.staging上把6个小时前的数据copy回来,结果发现速度非常的慢,备份结点只有60Mbits/S,拷了很长时间(陈皓注:为什么不把db1.staging给直接变成生产机?因为那台机器的性能很差)。数据现在的恢复了,不过,因为恢复的数据是6小时前的,所以,有如下的数据丢失掉了:

  • 粗略估计,有4613 的项目, 74 forks,  和 350 imports 丢失了;但是,因为Git仓库还在,所以,可以从Git仓库反向推导数据库中的数据,但是,项目中的issues等就完全丢失了。
  • 大约有±4979 提交记录丢失了(陈皓注:估计也可以用git仓库中反向恢复)。
  • 可能有 707  用户丢失了,这个数据来自Kibana的日志。
  • 在1月31日17:20 后的Webhooks 丢失了。

因为Gitlab把整个事件的细节公开了出来,所以,也得到了很多外部的帮助,2nd Quadrant的CTO – Simon Riggs 在他的blog上也发布文章 Dataloss at Gitlab 给了一些非常不错的建议:

  • 关于PostgreSQL 9.6的数据同步hang住的问题,可能有一些Bug,正在fix中。
  • PostgreSQL有4GB的同步滞后是正常的,这不是什么问题。
  • 正常的停止从结点,会让主结点自动释放WALSender的链接数,所以,不应该重新配置主结点的 max_wal_senders 参数。但是,停止从结点时,主结点的复数连接数不会很快的被释放,而新启动的从结点又会消耗更多的链接数。他认为,Gitlab配置的32个链接数太高了,通常来说,2到4个就足够了。
  • 另外,之前gitlab配置的max_connections=8000太高了,现在降到2000个是合理的。
  • pg_basebackup 会先在主结点上建一个checkpoint,然后再开始同步,这个过程大约需要4分钟。
  • 手动的删除数据库目录是非常危险的操作,这个事应该交给程序来做。推荐使用刚release 的 repmgr
  • 恢复备份也是非常重要的,所以,也应该用相应的程序来做。推荐使用 barman (其支持S3)
  • 测试备份和恢复是一个很重要的过程。

看这个样子,估计也有一定的原因是——Gitlab的同学对PostgreSQL不是很熟悉。

随后,Gitlab在其网站上也开了一系列的issues,其issues列表在这里 Write post-mortem (这个列表可能还会在不断更新中)

从上面的这个列表中,我们可以看到一些改进措施了。挺好的,不过我觉得还不是很够。

相关的思考

因为类似这样的事,我以前也干过(误删除过数据库,在多个终端窗口中迷失掉了自己所操作的机器……),而且我在amazon里也见过一次,在阿里内至少见过四次以上(在阿里人肉运维的误操作的事故是我见过最多的),但是我无法在这里公开分享,私下可以分享。在这里,我只想从非技术和技术两个方面分享一下我的经验和认识。

技术方面

人肉运维

一直以来,我都觉得直接到生产线上敲命令是一种非常不好的习惯。我认为,一个公司的运维能力的强弱和你上线上环境敲命令是有关的,你越是喜欢上线敲命令你的运维能力就越弱,越是通过自动化来处理问题,你的运维能力就越强。理由如下:

其一,如果说对代码的改动都是一次发布的话,那么,对生产环境的任何改动(包括硬件、操作系统、网络、软件配置……),也都算是一次发布。那么这样的发布就应该走发布系统和发布流程,要被很好的测试、上线和回滚计划。关键是,走发布过程是可以被记录、追踪和回溯的,而在线上敲命令是完全无法追踪的。没人知道你敲了什么命令。

其二,真正良性的运维能力是——人管代码,代码管机器,而不是人管机器。你敲了什么命令没人知道,但是你写个工具做变更线上系统,这个工具干了什么事,看看工具的源码就知道了。

另外、有人说,以后不要用rm了,要用mv,还有人说,以后干这样的事时,一个人干,另一个人在旁边看,还有人说,要有一个checklist的强制流程做线上的变更,还有人说要增加一个权限系统。我觉得,这些虽然可以work,但是依然不好,再由如下:

其一、如果要解决一个事情需要加更多的人来做的事,那这事就做成劳动密集型了。今天我们的科技就是在努力消除人力成本,而不是在增加人力成本。而做为一个技术人员,解决问题的最好方式是努力使用技术手段,而不是使用更多的人肉手段。人类区别于动物的差别就是会发明和使用现代化的工具,而不是使用更多的人力。另外,这不仅仅因为是,人都是会有这样或那样的问题(疲惫、情绪化、急燥、冲动……),而机器是单一无脑不知疲惫的,更是因为,机器干活的效率和速度是比人肉高出N多倍的

其二、增加一个权限系统或是别的一个watch dog的系统完全是在开倒车,权限系统中的权限谁来维护和审批?不仅仅是因为多出来的系统需要多出来的维护,关键是这个事就没有把问题解决在root上。除了为社会解决就业问题,别无好处,故障依然会发生,有权限的人一样会误操作。对于Gitlab这个问题,正如2nd Quadrant的CTO建议的那样,你需要的是一个自动化的备份和恢复的工具,而不是一个权限系统。

其三、像使用mv而不rm,搞一个checklist和一个更重的流程,更糟糕。这里的逻辑很简单,因为,1)这些规则需要人去学习和记忆,本质上来说,你本来就不相信人,所以你搞出了一些规则和流程,而这些规则和流程的执行,又依赖于人,换汤不换药,2)另外,写在纸面上的东西都是不可执行的,可以执行的就是只有程序,所以,为什么不把checklist和流程写成代码呢?(你可能会说程序也会犯错,是的,程序的错误是consistent,而人的错误是inconsistent)

最关键的是,数据丢失有各种各样的情况,不单单只是人员的误操作,比如,掉电、磁盘损坏、中病毒等等,在这些情况下,你设计的那些想流程、规则、人肉检查、权限系统、checklist等等统统都不管用了,这个时候,你觉得应该怎么做呢?是的,你会发现,你不得不用更好的技术去设计出一个高可用的系统!别无它法。

关于备份

一个系统是需要做数据备份的,但是,你会发现,Gitlab这个事中,就算所有的备份都可用,也不可避免地会有数据的丢失,或是也会有很多问题。理由如下:

1)备份通常来说都是周期性的,所以,如果你的数据丢失了,从你最近的备份恢复数据里,从备份时间到故障时间的数据都丢失了。

2)备份的数据会有版本不兼容的问题。比如,在你上次备份数据到故障期间,你对数据的scheme做了一次改动,或是你对数据做了一些调整,那么,你备份的数据就会和你线上的程序出现不兼容的情况。

3)有一些公司或是银行有灾备的数据中心,但是灾备的数据中心没有一天live过。等真正灾难来临需要live的时候,你就会发现,各种问题让你live不起来。你可以读一读几年前的这篇报道好好感受一下《以史为鉴 宁夏银行7月系统瘫痪最新解析

所以,在灾难来临的时候,你会发现你所设计精良的“备份系统”或是“灾备系统”就算是平时可以工作,但也会导致数据丢失,而且可能长期不用的备份系统很难恢复(比如应用、工具、数据的版本不兼容等问题)。

我之前写过一篇《分布式系统的事务处理》,你还记得下面这张图吗?看看 Data Loss 那一行的,在Backups, Master/Slave 和 Master/Master的架构下,都是会丢的。

所以说,如果你要让你的备份系统随时都可以用,那么你就要让它随时都Live着,而随时都Live着的多结点系统,基本上就是一个分布式的高可用的系统。因为,数据丢失的原因有很多种,比如掉电、磁盘损坏、中病毒等等,而那些流程、规则、人肉检查、权限系统、checklist等等都只是让人不要误操作,都不管用,这个时候,你不得不用更好的技术去设计出一个高可用的系统!别无它法。(重要的事,得再说一篇)

另外,你可以参看我的另一篇《关于高可用系统》,这篇文章中以MySQL为例,数据库的replication也只能达到 两个9。

AWS 的 S3 的的高可用是4个加11个9的持久性(所谓11个9的持久性durability,AWS是这样定义的,如果你存了1万个对象,那么丢一个的时间是1000万年),这意味着,不仅仅只是硬盘坏,机器掉电,整个机房挂了,其保证可以承受有两个设施的数据丢失,数据还是可用的。试想,如果你把数据的可用性通过技术做到了这个份上,那么,你还怕被人误删一个结点上的数据吗?

非技术方面

故障反思

一般说来,故障都需要反思,在Amazon,S2以上的故障都需要写COE(Correction of Errors),其中一节就是需要Ask 5 Whys,我发现在Gitlab的故障回顾的blog中第一段中也有说要在今天写个Ask 5 Whys。关于Ask 5 Whys,其实并不是亚马逊的玩法,这还是算一个业内常用的玩法,也就是说不断的为自己为为什么,直到找到问题的概本原因,这会逼着所有的当事人去学习和深究很多东西。在Wikipedia上有相关的词条 5 Whys,其中罗列了14条规则:

  1. 你需要找到正确的团队来完成这个故障反思。
  2. 使用纸或白板而不是电脑。
  3. 写下整个问题的过程,确保每个人都能看懂。
  4. 区别原因和症状。
  5. 特别注意因果关系。
  6. 说明Root Cause以及相关的证据。
  7. 5个为什么的答案需要是精确的。
  8. 寻找问题根源的步骤,而不是直接跳到结论。
  9. 要基础客观的事实、数据和知识。
  10. 评估过程而不是人。
  11. 千万不要把“人为失误”或是“工作不注意”当成问题的根源。
  12. 培养信任和真诚的气氛和文化。
  13. 不断的问“为什么”直到问题的根源被找到。这样可以保证同一个坑不会掉进去两次。
  14. 当你给出“为什么”的答案时,你应该从用户的角度来回答。

工程师文化

上述的这些观点,其实,我在我的以住的博客中都讲过很多遍了,你可以参看《什么是工程师文化?》以及《开发团队的效率》。其实,说白了就是这么一个事——如果你是一个技术公司,你就会更多的相信技术而不是管理。相信技术会用技术来解决问题,相信管理,那就只会有制度、流程和价值观来解决问题

这个道理很简单,数据丢失有各种各样的情况,不单单只是人员的误操作,比如,掉电、磁盘损坏、中病毒等等,在这些情况下,你设计的那些流程、规则、人肉检查、权限系统、checklist等等统统都不管用,这个时候,你觉得应该怎么做呢?是的,你会发现,你不得不用更好的技术去设计出一个高可用的系统!别无它法。(重要的事得说三遍)

事件公开

很多公司基本上都是这样的套路,首先是极力掩盖,如果掩盖不了了就开始撒谎,撒不了谎了,就“文过饰非”、“避重就轻”、“转移视线”。然而,面对危机的最佳方法就是——“多一些真诚,少一些套路”,所谓的“多一些真诚”的最佳实践就是——“透明公开所有的信息”,Gitlab此次的这个事给大家树立了非常好的榜样。AWS也会把自己所有的故障和细节都批露出来。

事情本来就做错了,而公开所有的细节,会让大众少很多猜测的空间,有利于抵制流言和黑公关,同时,还会赢得大众的理解和支持。看看Gitlab这次还去YouTube上直播整个修复过程,是件很了不起的事,大家可以到他们的blog上看看,对于这样的透明和公开,一片好评。

(全文完)


关注CoolShell微信公众账号可以在手机端搜索文章

(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)

——=== 访问 酷壳404页面 寻找遗失儿童。 ===——

历史遗留问题

发信人: Loew (Loew), 信区: Joke
标 题: 历史遗留问题
发信站: 水木社区 (Sun Jan 15 17:49:29 2017), 站内 [累计积分奖励: 300/0]

一女子相亲,刚见面,报了姓名还没等细谈,对方就说:对不起,我觉得我们不合适。女子:这才见面,你怎么知道不合适?对方:潘小姐,我们武家是绝不会接受你的!女子:我……

※ 来源:·水木社区 http://www.newsmth.net·[FROM: 223.220.159.*]

浏览器用户脚本的使用

开源人员可能都知道可以在网页内加载JS脚本,浏览器用户脚本其实是和网页脚本的功能是一样的,区别在于一个是网站的开发人员开发的,另外一个是用户为了方便使用网站自己开发的。譬如使用 Userscript可以实现去除不想看的内容,添加一些功能模块,或者在中秋节到来之际,写个抢月报的程序:-D

要在网页上执行自己的脚本,最好的方式是借助浏览器插件。比如 Firefox,最佳选择是 Greasemonkey。对于 Chrome 则是:Tampermonkey。

对于用户脚本,可以自己编写,具体可以参考文档:http://tampermonkey.net/documentation.php?ext=dhdg

另外一种比较方便的方法是寻找其他人已经写好的脚本。用户脚本源:

  • Userscripts.org,先前最大的用户脚本网站,目前已经关闭,历史资源可在http://userscripts-mirror.org找到。由于比较老不建议使用。
  • GreasyFork,中国人开发的用户脚本较多,推荐。
  • OpenUserJS继 GreasyFork 之后开始创办。与GreasyFork类似。

整体来说,不管是自己编写还是用别人已经写好的代码,都会极大的提升浏览体验,Have Fun!

The post 浏览器用户脚本的使用 appeared first on 标点符.

来个原创笑话,啊哈哈哈哈

发信人: sani (哦), 信区: Joke
标 题: 来个原创笑话,啊哈哈哈哈
发信站: 水木社区 (Sun Jan 15 15:46:13 2017), 站内

爸爸和4岁儿子在一起玩

爸爸说,我给你叠个大元宝,咱们一起打着玩。(就是打四角,蛮多男生小时候都玩过

儿子跟着他爸爸屁股后面说,爸爸你给我叠个汉堡,汉堡能吃,爸爸吃个,我吃个
我要吃汉堡
……….

这就是吃货生的娃….

※ 来源:·水木社区 newsmth.net·[FROM: 106.114.84.*]

卖甘蔗 (转载)

发信人: l0086 (大婶我就似无鸡蛋,想咋的), 信区: Joke
标 题: 卖甘蔗
发信站: 水木社区 (Wed Jan 11 22:42:50 2017), 站内

【 以下文字转载自 SecondMarket 讨论区 】
发信人: SportsMM (haha), 信区: SecondMarket
标 题: 卖甘蔗
发信站: 水木社区 (Wed Jan 11 20:23:01 2017), 站内

前几天,吃货我一冲动从小区小贩那里买了一百斤甘蔗,
啃了几天之后觉得有点啃不动了…
现在还剩八十斤,想卖掉50斤
原价是2.5元一斤,现价110元50斤
北三环附近自取。

※ 来源:·水木社区 官方应用·[FROM: 113.47.182.*]

牛牛娇客01

发信人: chumeng (shaoshao), 信区: Joke
标 题: 牛牛娇客01
发信站: 水木社区 (Mon Jan 9 00:17:47 2017), 站内

1. 近日雾霾严重,各地网友纷纷要求为PM2.5定一个科学恰当的中文名。网友答案真是百花齐放,严肃一点的叫‘公雾源’;高端一点的叫‘京尘’;霸气一点的叫‘尘疾思汗’;乐观一点的叫‘尘世美’;娱乐一点的叫‘尘惯吸’;更有稍微性感一点的叫‘喂人民服雾’!

2. 发明了“傻B”后,“傻子”已经被划入情话行列了。

3. 有关系不太好的朋友总说我胖,今天把我惹毛了,我说:“不胖呀,你男朋友一下就抱起来了。”来呀,互相伤害啊!

4. 宿舍六个人聊起了三国,李哥问我:兄弟,三国里你最喜欢哪个?我想了想说:肯定最喜欢诸葛亮,夜观天象,知天下大事。说完我问他们,他们五个都喜欢貂蝉……

5. “孙悟空为什么大闹天宫之前很厉害,最后却连一只普通的妖怪都打不过?”“你TM账号被封500年试试。”

6. 开着你们检测合格的车,用着你们检测合格的油,现在有雾霾了,说是我们造成的,难道是我们踩油门的姿势不对?这是要闹哪样? ……

7. 清明节了,烧个iPhone,烧个iPad,烧个PC。 唯独没有烧充电器,这不是坑爹么?!

8. 男人都希望自己的老婆安分守己,盼望别人老婆放荡不训。

9. 老婆去洗澡了,拿着老婆的手机玩着,突然想到刚换了首铃声,想听听音质怎么样,点开通讯录找到老公,拨号,两三秒后,那边接通了……接通了……通了……

10. 记得小时候第一次用卫生巾,既然反着用的,换时那叫一个疼啊

11. 问:纯情的表现是什么?答:学生时代喜欢一个人,连作业本放在一起都觉得幸福。

12. 女性第三者被称为小三,男性叫做老王,多根棍子的事。

13. 和不成熟的男人谈恋爱什么感受?
女:我一天没有吃饭了。
男:6666666

14. 朋友请去吃小龙虾,新开的店,有野生和家养两种,各要了一盆。我一边剥一边问朋友家养和野生的区别在哪儿?他说:“家养的吃抗生素长大的,野生的有重金属沉淀污染,看你的承受力了。”

15. 男人藏私房钱藏哪里最安全,最隐秘,老婆不知道,丈母娘找不着?藏股市,别说你老婆找不到,连你都不知道跑哪去了。

16. 问:“为什么有时候看蜗牛很可爱,而鼻涕虫看起来一直很恶心呢?”回:“这是有房和没房的区别!”

17. 很久没有和老婆亲热了,结果今天她突然说道:“你娶个老婆你一不做二不休,你到底几个意思?”

18. 昨天去一家理发店理发,老板娘太黑了,洗剪吹300!!
洗剪20!!!

我小学一年级,老师听写拼音不会让画个圈

发信人: guilaiqu (归来去), 信区: Joke
标 题: 我小学一年级,老师听写拼音不会让画个圈
发信站: 水木社区 (Sun Jan 8 22:04:28 2017), 站内

我高兴的以为不会写画个圈就可以了,画了好多圈,后来才知道画圈是为了方便老师判分。。。


from@水木plus

※ 来源:·水木社区 http://newsmth.net·[FROM: 221.223.238.*]

4岁娃偶得

发信人: cbbxbb (臭宝宝香宝宝), 信区: Joke
标 题: 4岁娃偶得
发信站: 水木社区 (Fri Dec 30 11:40:48 2016), 站内

1,一天,娃美滋滋的说,等我长大了我就可以抽烟了。
我赶紧阻止说,吸烟有害身体健康,永远不要尝试抽烟。
娃不解,说很多人抽烟啊。
我说,烟会熏黑你的肺,到时候你就不停的咳嗽,就像你爷爷,全家只有他抽烟,就数他白天咳晚上咳。
娃表示同意,突然说,我找到一种烟没有毒的,你猜是什么?
我想了半天说不知道
他说:艾灸!

2,娃洗澡刷牙每天都是上演一出童话剧。哈克和迪克被牙刷刷出来进了下水道,娃和他们拜拜,还欢迎他们明天再来自己的嘴巴吃巧克力。接下来身上的小细菌也被冲走进了下水道,娃还送他们一张自己的照片,嘱咐明天一定更要找对人哦,欢迎明天再来。

3,一天,娃和爸爸商量:等我长大了,还和你的老婆一起睡行吗?
娃爸:那你的老婆呢?
娃:跟你睡
娃爸:乖儿子,就这么决定了,你可别反悔。
娃:不会反悔的

4,说到长大娶谁当老婆的问题,在娃3岁半的时候他就表态过:彬彬哥哥,或者昊昊哥哥

5,娃这学期连续4个月全勤了,老师说如果一个学期都全勤,可以领到整个集团的总全勤奖。娃爹年假想过去很多地方旅行,问了娃的意见,娃坚持要得到全勤大宝宝奖,于是娃爹只好自己去旅行了,大冬天的去上海南京,淋了几天的雨。。。遇到这么上进的娃,也没办法。

6,和娃说过很多次,碳酸饮料比如可乐、健力宝是垃圾食品,影响钙的吸收,每次娃和他爸出去翻山越岭,我都要嘱咐一下不要买垃圾食品。但是,每一次,回到家,我问,喝饮料了吗?他爸得意洋洋的说,啥也没买。娃立刻大声告诉我:爸爸给我买健力宝了!我都说了不要买垃圾食品,是他偏要买的,他还买了鸭脖!他爸赶紧拉住他小声说,不是说好了一起说啥都没买的吗?我暗自偷笑,有这么个猪队友也没有办法。次次如此。

7,一天,爷俩玩石头剪刀布,一轮玩了5分钟还没有玩完。娃爹出石头,娃后变布,娃爹后变剪刀,娃再后变石头,一轮能玩到无穷无尽。

8,天暖的时候娃总是踢被子,把自己晾外面,一夜盖被子累死人。现在天冷了,屋内也就15,6度,盖着厚棉被,娃只穿秋衣秋裤,半夜踢了被子,吭哧吭哧赶紧爬进来。

9,最后转儿教版一个帖子里的回帖:男孩子就像狗,不出去溜他就难受,必须每天溜溜,把精力释放了,回到家他才老实舒服。

※ 来源:·水木社区 http://www.newsmth.net·[FROM: 113.89.74.*]

凑个热闹3

发信人: longfive (longfive), 信区: Joke
标 题: 凑个热闹3
发信站: 水木社区 (Wed Dec 21 09:05:31 2016), 站内

1、北京的朋友说,雾霾有多严重呢?这么说吧,小刘的妻子在自己小区里都迷路了,最后还是在隔壁老王家找到的。

2、今你想逃离北京? 你想太多了…… 高速公路全线关闭! 国际航班取消! 你说你还能去哪? 别逗了 不把雾霾吸完, 谁会让你走? 你真是太天真了! 北京…来可以, 想走?没门! 有门,你也看不见…

3、交警大队温馨提示:今天雾霾比较大,如果找不到路了,千万不要下车问路,如果下车你可能就找不到自己的车了,找不到车了也不要报警了,因为警察也找不到你!

4、雾霾自救方案: 1.安慰疗法:戴口罩。 2.全家疗法:购买安全有效的空气净化器。 3.有钱又有闲的疗法:去外地旅游。 4.土豪疗法:移民。 5.国家疗法:等风。 6.全民疗法:吸光它!!!

5、和同事在电梯间,他放了个放了个比较臭的屁。一进办公室,他就蹭打开窗户,把脑袋伸出去,大口呼吸。我鄙视的说你干嘛??? :他说没事 吸两口雾霾,缓缓。
我 ……

6、北方冬天雾大,小时候喜欢和小伙伴在雾里玩捉迷藏,没到九点多雾就散去了,玩的不过瘾。那时想,如果一天都有雾多好啊。现在梦想实现了,MLGB的。

7、评价一个男人帅不帅并不是看脸如此肤浅的,而是要看他开游艇时的样子,打高尔夫时的样子,在拉斯维加斯all in时的样子,在银行办钻石vip业务时的样子,买别墅时的样子。

8、有个新疆人在北京吃完饭后,要求开发票。服务员问:啥单位?
答:中华人民共和国新疆维吾尔族自治区伊犁哈萨克自治州察布查尔锡伯族自治县奥依亚依拉克乡奥依亚依拉克村村民委员会古且末国历史文化遗址申报联合国教育科学文化组织世界非物质文化遗产工作领导小组办公室。
老板听后吼了句:免单!

9、 听说一朋友回老家过年,这次父母没催他,也不提这个话题。但是默默的在他拖鞋旁多放了一双女式拖鞋,床上多放了一人份的枕头和被子。洗脸台上有杯子和牙刷,书桌上摆着几本女性时尚杂志,衣柜里还有女式睡衣。这人才回家一天,已经颤抖着说几乎要怀疑自己跟人冥婚过了……

10、像权志龙这样,歌词写的这么好,又懂音乐,长得好看,柔情似水,风度翩翩,如风中柳絮般飘然又有礼貌的好孩子,说实话,我一个可以打十个。

凑个热闹2

发信人: longfive (longfive), 信区: Joke
标 题: 凑个热闹2
发信站: 水木社区 (Tue Dec 20 09:33:53 2016), 站内

1.“这世界上肯为你拿行李那么久的男人,不是想做你男朋友,就是你爸爸……”唐僧关了午夜的电台思绪久久,转身道:八戒,我们好好谈谈。猪八戒急忙道:“师傅,我没这意思,我不是gay!”唐僧点头表示安心了。入夜,他突然起身一个巴掌打在八戒脸上:那你TM是想做我爸爸?!

2、刘备:“赵云埃以前我们兄弟三人结拜完了。今天看你人还不错也算你一个。”
赵云:“还是不要了吧”
张飞:“咋地看不起我们兄弟”
赵云:“不是啊,飞哥,我只是感觉叫赵四不太好听”

3、“如何形容一个人很丑,但又不能太直接呢?”
神回复:“这是一个看脸的时代,而你不属于这个时代。”

4、男人在那么多的女人中只看上了她,女人也很感激男人,所以在啪啪时极力配合男人,甚至满足一切要求,事后男人不爱她了,变心了,女人只是象征性的要了400的分手费。。。。。。
这么凄美的爱情在Pol.ice叔叔那里怎么就成了嫖昌?

5、现在卖面膜的为了证明材料安全,老板竟然亲自把面膜吃了下去,搞得我们卖粪肥的压力很大,卖农药的哭晕在厕所。。。

6、今天看了个新闻可吓死我了,买仿真枪支被了无期徒刑。那我买了30个仿真娃娃算不算买卖人口?会判多久,在线等。。。

7、老师,我们不是学不会,而是每次遇到知识时,我就对它们说:“快到脑子里来! ”可它们总是互相推拖:“你去,你去! ”好不容易有个同意进来了,居然又说:“这脑子这么点空间,谁TM能呆得下啊! ”然后又走了。。。

8、营养专家说少吃饭人比较不容易老,这确实是真的:我一个朋友10天没吃饭,现在他永远都是25岁了。

9、“怎么称呼那些趴在地上准备讹人的老人?”“伏地魔”。

10、其实,我一直知道自己长着一张明星脸。10年前好多人说我长得像张雨生,5年前好多人说我长得像欧阳震华,现在还有好多人说我长得像范伟。

11、昨晚两朋友在吹牛B,其中一个说自己多么牛多么牛。。。
另一个朋友急了,说:哥们要不是你有两个蛋在坠着你,你早飞起来了。。。

12、每次跟同学出去吃饭,同学总换女朋友,不到一个礼拜身边就又是一个新面孔。
一个月没见又瘦了,我调侃到:“你小子早晚得死在女人身上”
他说:“那也比你好,早晚得死在自己手里! ”

13、朋友在一起聊天,朋友甲说:你们银行上班爽啊,钱数都数不完啊!
一嘴欠的朋友接到:那你们医院上班的,药应该吃不完啊!

Category

Archives