你知道的越多,你不知道的越多

点赞再看,养成习惯

GitHub https://github.com/JavaFamily上已经收录有一线大厂面试点脑图、个人联系方式和技术交流群,欢迎Star和指教

前言

这是帅丙真实事件,大家都知道很多公司都是有故障等级这么一说的,这就是敖丙在公司背的P0级故障,敖丙差点因此被解雇,事情经过十分惊心动魄,我的心脏病都差点复发

事故等级主要针对生产环境,划分依据类似于bug等级。

P0属于最高级别事故,比如崩溃,页面无法访问,主流程不通,主功能未实现,或者在影响面上影响很大(即使bug本身不严重)。

P1事故属于高级别事故,一般属于主功能上的分支,支线流程,核心次功能等,后面还有P2,P3等,主要根据企业实际情况划分。

正文

敖丙之前也负责公司的商品搜索业务,因为业务体量增速太快了,商品表中的商品数据也很快跃入千万级别,查询的RT(response time 响应时间)也越来越高了,而且产品说需要根据更多维度去查询商品

因为之前我们都是根据商品的名称去查询的,但是电商其实都会根据很多个维度去查询商品。

就比如大家去淘宝的查询的时候就会发现,你搜商品名称、颜色、标签等等多个维度都可以找到这个商品,就比如下图的搜索,我只是搜了【帅丙】你会发现,名字里面也没有连续的帅丙两个字,有帅和丙的出来了


大家知道的传统的关系型数据库都是用什么 name like %帅丙% 这样的方式查询的,而且查询出来的结果肯定只能是name里面带帅丙的对吧。

那你还想搜别的字段比如什么尺寸、关键词、价格等等,都能搜到帅丙,这相当于是多个维度的了,传统的关系型数据库做不到呀。

做技术选型的时候,帅丙第一时间想到了搜索引擎。

当时市面是比较流行的有:Apache LuceneElasticsearchSolr

搜索引擎我后面会讲ELK(Elasticsearch、Logstash、Kibana)Canal,我呀真的是太宠你们了,这样会不会把你们惯坏了。

帅丙我呀,噼里啪啦一顿操作,最后得出结论:

相对来讲,如果考虑静态搜索,Sorl相对更合适。

如果考虑实时,涉及到分布式,Elasticsearch相对合适。

那我们商品还是要实时的呀,你后台改了价格啥的,是不是都要实时同步出去,不然不是炸了嘛。

看到这,我想可爱的你和帅丙心中都有了答案:Elasticsearch这是个神一样的引擎。

我这里就做一个简单的介绍就好了,细节的点我们后面去他的章节讲,啥都写了,敖丙哪里有这么多素材写文章?

ElasticSearch是一个基于Lucene的搜索服务器。

它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。

根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

看过敖丙之前文章的朋友都知道,我们做技术选型之前,要做什么呀,设计

我们要去了解这玩意的好处坏处常见的坑出了问题的应急预案等等,还有他的数据同步机制啊,持久化机制啥的,就是高可用嘛。

同样的我不大篇幅介绍了,以后都会写的嘛,我就给大家看看我当时做的设计吧。



这个只是最初的demo,详细的终稿我就不给大家看了,因为有很多公司内部的逻辑。

不过大家还是可以看到敖丙真的考虑了很多,还是那句话,不打没把握的仗!

设计做好敖丙就卡卡卡的用起来了。

说实话,真香,这玩意真的好用,学习成本也很低,查询语句分分钟掌握了,官网文档把功能介绍得清晰无比。

https://www.elastic.co/cn/

用着用着重头戏来了,你们都知道敖丙我是做电商活动的,都是什么很高的流量打进来这样,还是如往常一样上线了一个活动。

这是一个月飞风高的夜晚,丝丝凉风迎面吹来,敖丙悠闲的坐在椅子上,手里拿着破旧的茶杯,喝着外婆炒的苦荆茶,享受着这惬意的时光。

突然,说时迟那时快,运维打来了紧急电话ES集群CPU打到了99%要挂了,我的心蓦然一痛,心里还在庆幸还是集群没崩。

然后他接着说了一句,不好集群挂了!

敖丙卒,本篇完….


开玩笑的哈,不过当时敖丙真的要死的心真的都要有了,就在崩掉的1分钟内,就有用户反馈搜索未响应,我第一时间想到的就是重启,于是我一个健步冲出去,开启电脑,进机器,输入了重启命令。

好了,是的好了,还好有惊无险,不过只过了10秒,集群又99%了,呐呢?


我又只能重启了,这次没挂,过了很久很久,直到活动结束,还是没挂。

查找问题

但是这次影响到线上,3分钟的搜索未响应,我想我估计明天是要去财务领工资,提前回家过年了。

还好Leader说没事,先找到问题,把他修复掉。

你们都知道敖丙天才来的,我第一时间想到的就是看日志,我登上去看es没报错,再看本身的服务,除了超时的错误啥都没有,卧槽,是的当时我脑袋嗡嗡响。

不过我继续想为啥是我的搜索挂了,会不会是有人搜了什么奇怪的东西?

我打开了我的搜索日志!!!

卧槽这不是吧,哪个坑爹玩意搜这么长的一串中文,差不多250个字吧。

但是我一想,搜这么长也不应该打挂服务啊,会不会是我写了bug

我脸颊流下一滴汗水

害阿里程序员差点被当场开除的P0事故相关推荐

  1. 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!

    世界之大无奇不有,有些巧合简直就是天作之合,就像下面这位百度程序员和阿里程序员的故事. 某百度程序员发帖吐槽:中午面试了一个阿里程序员,问了他一些刁钻的问题,结果自己晚上去阿里面试,面试官竟然就是中午 ...

  2. 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!...

    世界之大无奇不有,有些巧合简直就是天作之合,就像下面这位百度程序员和阿里程序员的故事. 某百度程序员发帖吐槽:中午面试了一个阿里程序员,问了他一些刁钻的问题,结果自己晚上去阿里面试,面试官竟然就是中午 ...

  3. 某阿里程序员爆料自己的p9领导:每天炒股喝茶开会!羡慕嫉妒恨!以后要当领导!网友:不在其位,不知其累!...

    都说阿里高p日子过得很爽,到底有多爽呢? 一个阿里程序员发帖爆料自己p9领导每天的工作,简直令人羡慕嫉妒恨,让我们看看他的领导一天都在做什么: 一路看下来就是炒股.喝茶.开会,难怪楼主得出这样的结论: ...

  4. python跳槽工资_年薪45万阿里程序员想跳槽到vivo,网友:工资不翻倍不要去

    为什么很多人挤破头也想进入bat这样的企业?其实原因很简单,只要你有这几家公司的工作经历,等你想跳槽时,几乎有大把的工作机会让你挑选.在大企业的光环下,很多公司都愿意给出比bat更高的薪水来招聘这些员 ...

  5. 这个阿里程序员,干了件很轴的事儿

    摘要: 我叫孤尽,是一名阿里程序员. 如果说,我身上有一点点和普通程序员不一样,也许是更轴一点.比如我觉得JAVA是世界上最好的语言,没有之一. 最近,我又干了一件比较轴的事情. 我因为这件事曾被大家 ...

  6. 阿里程序员受邀去华为面试,却因这点没被录取。

    一名阿里程序员讲述了自己之前面试华为的经历:前几年以阿里巴巴p7的身份去面试华为,也是他们主动在网上约我的,面谈了之后对我的能力表示认可,最后却没要我,原因是我不是名牌大学毕业,我才不稀罕呢! 对于这 ...

  7. 阿里程序员常用的 15 个高效工具,大部分已开源!

    阿里程序员常用的 15 个高效工具,大部分已开源! 阿里将自身在各类业务场景下的技术积淀,通过开源.云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率. ...

  8. 阿里程序员发70多万年终奖表示略感失望,网友:不要的话请给我!

    阿里程序员发70多万年终奖表示略感失望,网友:不要的话请给我! 新生前端 03-24 18:25 关注 阿里开始发年终奖了,不少阿里员工开始在网络论坛上相互打探消息,看看自己拿的是多还是少.因为阿里的 ...

  9. 史上首例!阿里程序员写的这一行代码,被国家博物馆收藏了

    中国国家博物馆,收藏有各类文物100多万件,是我国收藏文物数量最丰富的博物馆之一. 从甲骨到价值连城的的玉器书画,这里的藏品种类繁多,无不体现着厚重的中华文明. 近日,国博又增加一件令人意想不到的特殊 ...

最新文章

  1. 深度学习模型那么多,科学研究选哪个?
  2. 高通平台:USB充电
  3. 20个非常有用的Java程序片段--转
  4. Qt Creator使用材质和明暗器Using Materials and Shaders
  5. python抖音github_GitHub - eternal-flame-AD/Douyin-Bot: Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?...
  6. lintcode 418整数转罗马数字
  7. STM32 定时器输出pwm的频率计算方法 PWM 频率检测方法 直流电机的位置控制
  8. 洛谷 P1356 数列的整数性 解题报告
  9. python入门指南-如何学习Python,以及新手如何入门?
  10. php 页面上显示xls文档,phpExcel输出xls文档显示乱码的解决方法
  11. 冒烟测试流程图和测试数据准备
  12. CSS命名与书写规范
  13. 现在很火爆的外卖返利小程序源码免费分享一套源码
  14. java正则顿号怎么表示_3正则表达式3
  15. 数据库--聚集函数及其应用
  16. 构建根文件系统的/dev目录
  17. Fractions (水)
  18. android5.0协调布局CoordinatorLayout(第二篇CollapsingToolbarLayout效果实现原理讲解)原理
  19. 性能问题从发现到优化一般思路
  20. 支付宝小程序模板开发,一整套流程

热门文章

  1. 美工之道-Photoshop和Illstrator的颜色抓取
  2. 20171029 勇于挑战自己
  3. 常识---关于档案(转)
  4. Oracle具体表赋权给某用户
  5. 基于snownlp及朴素贝叶斯的情感分析——以大众点评网评论为例
  6. 最全的Matlab经典教程免费下载学习
  7. drtek收音机使用说明_车载收音机按键图解说明,老式车载收音机说明书
  8. 你还在为移动端选择器picker插件而捉急吗?
  9. 从抖音app爬取数据
  10. DHU数据结构-单链表-ADT应用-长整数加法运算(使用单链表存储计算结果)