网站开发流程 知乎,响应式网站空间服务器要求,福州医院网站建设公司,企业免费网站系统下载地址0、故事主角 呱呱乐 是一家互联网金融公司。主营现金贷、p2p理财、消费分期业务。 公司现有技术人员800名#xff0c;系统极其庞杂#xff0c;每日稳定处理25w左右的订单量#xff0c;有抢购活动时#xff0c;系统的QPS(Query Per Second)峰值达到了3w。 系统虽然庞杂…0、故事主角 呱呱乐 是一家互联网金融公司。主营现金贷、p2p理财、消费分期业务。 公司现有技术人员800名系统极其庞杂每日稳定处理25w左右的订单量有抢购活动时系统的QPS(Query Per Second)峰值达到了3w。 系统虽然庞杂但在技术老大C哥的带领下服务的可靠性高达99.99%技术方面的成绩闻名业内。 这不C哥受邀参加2022年全球互联网大会了。 我是技术主编王小五让我们一起来采访下C哥吧你们有什么想问的也可以关注我的专栏留言吆~ 1、呱呱乐系统初期 小五C哥好很多网友对呱呱乐公司的系统演进感兴趣您能给我们讲一讲吗 C哥得意的笑了笑好的那我简单介绍下吧。 呱呱乐初期其实是一个名不见经传的小公司只有6名技术主要做消费分期业务系统是基于LNMP搭建的基础架构框架使用的是ThinkPhp。 刚开始流量比较小业务也比较基础主要提供用户登录注册、订单、账单、支付、风控、消息发送等功能。 功能刚开始都比较简单所以这样的架构能够满足需求所有的功能都在一个Git工程里开发。 这些功能抽象出来可以用一张图表示 小五是的初创型公司基本都是这样的技术架构简单而实用满足快速迭代、功能为主的需求。 C哥但是随着访问量的增多、业务越来越复杂这样的架构就有点力不从心了... 2、宕机一小时 小五哦怎么个力不从心法 C哥微笑一下宕机的时候你就知道了哈哈。 小五哈哈那C哥给我们讲讲吧大家都很想听。 C哥当我们业务开展到了6个月左右的时候注册用户比较多了。 一天下午大量用户反馈我们的app打不开了同时我们也发现了这个问题。 于是我们从Nginx开始排查发现流量正常没有被DDOS攻击Nginx配置也正常没有任何问题。 接下来我们又排查了PHPPHP进程也一切正常没有出现内存泄漏等问题。 剩下的就排查Mysql了一看不要紧原来真是 Mysql 在搞鬼CPU使用率近乎100%... 于是我们赶紧暂停了Mysql服务。 通过查询慢Sql日志发现原来是张二胖写的一条SQL导致了风控日志表进行了全表扫描而风控日志表中的数据高达800万条... 小五哈哈这样的场景似曾相识好多公司应该都经历过。 C哥是啊好多攻城狮都对数据库进行直接操作而他们写出的SQL的质量又不能保证。 小五那你们最终怎么解决的呢 C哥首先我们对服务进行了降级先保证核心功能可用。而后我们又对该数据表加索引对SQL进行优化最终解决了这个问题。 C哥从发现问题到解决问题大约用了一个小时的时间这一小时内所有服务都不能用了真是惊心动魄的一小时。从这时起我就想有什么办法能够规避这类问题。 小五是啊这次可能是张二胖写出了全表扫描的SQL下次可能是张三胖写出全表扫描的SQL这样都会导致服务不可用功能之间的耦合性太高了。 3、业务的继续开展 小五C哥除了消费分期业务外咱们公司后来又开展了现金贷、理财业务。这些业务的加入对于系统有什么影响呢 C哥哎说起来都是泪啊。因为消费分期、现金贷、理财等业务很多东西都是相同的比如用户功能、订单功能、账单功能前期为了业务的快速发展我们直接从消费分期拷贝了两套代码出来分别用来处理现金贷、理财的业务。 小五的确是这样能最快的支撑业务的运转。 C哥但这样给自己埋了很大的坑以后还得慢慢的去填~ C哥业务中存在很多Copy-Paste的代码比如用户表改动了一个字段三个系统都需要去改。又比如加了Redis缓存三个系统也都需要改动。实在是太繁琐了如果忘记改动还有可能造成服务挂掉那时候真实天天改bug啊。 小五心疼你们1秒钟。。。 4、没完没了的加班 C哥随着业务的发展系统越来越复杂技术人员的体会也越来越“痛”天天改不完的bug夜以继日的加班...... 小五现在的系统没有这问题了吧C哥 C哥好在我们进行了微服务的改造这种问题才得以解决。 小五微服务最近很火的概念C哥给我们分享一下吧 C哥今天时间也不早了要不明天再跟大家细讲吧。 小五好的C哥感谢您的分享明天再来采访您~ 注文中公司、人物均为虚构只为故事更加精彩~ 小记服务治理还在学习阶段经验有限不对的地方请多多指教。 后续服务治理理论篇(二)、实践篇会相继出炉~