范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

以淘宝为例,剖析微服务应用故障定位系统实现原理

  当下最流行的设计架构便是微服务架构,越来越多的企业将老的服务拆分成微服务模式、在新的业务中采用微服务架构的设计理念进行技术架构设计。
  其中实践的最好的莫过于阿里了,早期淘宝的架构是一个单体式架构,即Linux操作系统+apache服务器+mysql数据库+PHP开发的程序,所有的功能如用户注册与管理、商品管理、订单管理全都集中在一个程序包里,业务越扩展越大,这个程序包也变得越来越大,最终长成了巨无霸应用,难以承受业务的继续增长,技术团队也难以进行维护。
  不过办法总比困难多,在千百个日夜轮回的摸索与实践后,终于找到了合适的解决方案,即进行重构,将原来的巨无霸应用进行业务抽象,拆分成独立的子服务,由不同的团队进行开发与维护。
  以淘宝的体量来看,该应用足以拆分上千个子业务,下图是2012年淘宝的整个服务调用拓扑图,如果到2020年,那么业务必定会更加的复杂。
  不只是淘宝会有这么复杂的微服务链路,任何一个企业,只要采用微服务架构的模式进行技术架构设计,势必都会产生复杂的链路调用,也势必都会面临着着四个问题:
  1)定位故障难。当客服向你反馈用户无法进行下单时,很难去排查故障原因。表面上只是一个简单的下单操作,背后却是由几十个微服务所构成的,而且是由不同的业务团队进行开发,出现问题了需要牵扯十几个部门一起排查,定位故障及根本原因太难了。
  2)规划容量难。对于服务平台来说,隔三差五的搞个活动、做个促销啥的再正常不过了,一般搞大活动之前都会对业务进行压测,制定本次活动的机器资源安排,然而测试环境与生产环境情况并不完全一样,每个服务的参与程度、重要性都是不一样的,规划合适的容量太难了。
  3)梳理链路难。在当下,互联网企业的人员流动是非常正常的事情,往往一个系统的从开发到完成经历了多个人的手,只有从头到尾全参与的人才知道系统的技术架构,核心人员流动后对于系统的架构梳理、性能优化就变得非常难了。一个刚入职的新人往往要花比较久的时间才能梳理清楚业务,才能在业务开发的时候处理得当,不影响上下游业务。
  4)浪费资源多。由定位故障难产生的人力成本、规划容量难产生的机器资源成本、梳理链路难产生的人力成本导致了企业资源的浪费。
  这些都是实行微服务架构带来的问题,那微服务架构问题这么多?难道是要让我们不用它了吗?
  其实不然,有了问题就必然会有解决方案。一套完整的微服务解决方案也必然包含故障定位部分,那么业内是如何来实现微服务的故障定位呢?
  目前业内的解决方案一般包含三个模块,即数据采集、数据分析、数据呈现。
  数据采集是在应用的每个服务上安装探针,当服务的进程启动时,该探针也会启动,采集服务运行中的数据。
  数据分析是通过收集的数据获取链路调用关系、程序执行情况。
  数据呈现即在前端页面呈现链路拓扑、服务执行情况。研发人员通过前台就可知道整个服务链路情况、程序运行情况,快速定位故障根因,完美解决了微服务架构的四大问题!
  目前用的最多的应用基本是java语言开发的,因此我们以java应用来进行讲解整个监控系统的实现。
  第一部分:探针。
  我们知道java程序都是在JVM中运行的,实质上是将java代码编译成的class文件,jvm做的第一件事情便是通过java.lang.ClassLoader去加载类(比如A.class),此时探针agent会截取A.class类嵌入监控代码生成A’.class类,之后所有的用户请求都会在A’.class类里执行,而我们的监控代码把这些都完完全全的记录下来了,并且定时发给了后台。
  第二部分:后台。
  探针采集了数据后需要后台分析,我们先看一个真实每天都在上演的业务场景,用户在页面发起"添加购物车"、"从购物车删除商品"、"从购物车进入商品结算"等等,其实整个系统运行的每一秒都在发生着N个用户请求,每个请求的链路调用请求不完全一致,对于添加购物车服务来说:购物车服务B调用用户服务C、C调用商品服务D;对于从购物车删除商品来说:购物车服务B调用商品服务D、商品服务D调用商品库存服务E;对从购物车进入商品结算来说,购物车服务B调用结算服务E、支付服务F….就这短短的一秒钟,产生了B->C->D、B->D->E、B->E->F….的服务链路,如果其中的某次调用C->D出了问题,那么B系统的研发人员完全不知道问题出现在哪里了。这个时候我们要引入两个专业的名词spanid、traceID。
  对于故障问题的定位,通过traceID就可以进行跟踪。用户的请求一发起,我们就给它打上了traceID的标签,随着这个请求继续的往后面发生调用,traceID就继续跟着到了下游系统中,一直到请求的调用执行完成,而所有的执行都会记录在日志中。当某次调用发生错误时,我们只要获取到这个traceID,在整个日志中进行搜索,就可以知道它卡在哪里了,找到了问题的根本原因。
  对于调用链路的梳理,通过spanID就可以进行还原。当整个用户请求开始发生时,我们把第一次链路的调用赋值为0,每深入一次就叠加一次,比如B->C->D中,B->C是0.1、C->D是0.1.1;每进行一次同深度的调用再自加一次,比如B->D->E中,B->C是0.2、C->D是0.2.1。后台系统通过上万笔的调用链路分析处理,最终会给到一个链路调用拓扑图
  因为监控代码在代码的执行都进行了埋点,所以通过代码开始和代码结束的时间戳对比就能获取到整个代码执行的时间和次数,进而获取到用户请求的执行时间和执行次数,再进而获取到服务的执行时间和执行次数,再再获取到整个应用的执行时间和执行次数,后台把数据处理好了之后传递给到前端,就可以呈现给到用户整个微服务应用的执行情况了,程序员哥哥们再也不用担心微服务应用的故障问题找不到,天天996了。
  只谈微服务架构的设计,而不谈其出现的问题与解决方案便是耍流氓。
  在微服务架构时代,对于整个系统的监控、调用链路的追踪、服务的熔断限流等机制都是必不可少的。
  工欲善其事,必先利其器。随着云计算、5G、人工智能等的普及应用,容器技术、Devops的广泛应用,微服务必定是会大放异彩,而其背后的助力无疑是整个监控系统~

头戴式蓝牙耳机使用体验分享篇,降噪效果很棒的头戴耳机因为我平时比较喜欢听歌打游戏啥的,又是在宿舍,所以戴耳机是很有必要的了。但是有线耳机我戴着老是打结,我也不知道为啥蓝牙耳机我这个马大哈已经丢了无数个了朋友实在看不下去了,就给我推荐生活配件用的好,不怕耳朵受不了,佩戴舒适的有线耳机分享耳机作为人们生活的必备品,不仅要有优秀的颜值,更要有高质量的功能。俗话说得好,一个萝卜一个坑,放在手机来看也是这样,一部手机配备一条耳机,手机用的好,耳机少不了。耳机的种类在时代中电视盒子品牌排行榜,实用性的电视盒子不仅仅看价格电视盒子作为我们使用电视的一种过渡产品,它很好的延续了电视继续存在的意义和价值。这是因为我们如果直接更换一台新的电视机价格会很高,但是一款电视盒子的价格却连电视的十分之一都不到。因学生党要怎么挑选好音质的耳机,看看这几款耳机,总有让你心动的对学生党来说,耳机的需求量应该比较大。很多人在强大的学习压力下,都喜欢通过听歌的方式来缓解压力。这时候耳机就派上用场了,对学生党来说,有线耳机是更合适的选择。毕竟有线耳机直接插上就网络电视机顶盒如何看直播,这样的网络机顶盒连上就能看了随着光纤网络的发展,5GWIFI的普及后,使用网络电视机顶盒看电视的人群越来越多了。电视自带的机顶盒存在许多问题,例如不能通过USB安装应用软件节目源少付费内容多等,这些都成为许多游戏蓝牙耳机哪些好用,HIKX3S蓝牙耳机低延迟音质还很好现在可以以低于两百的价格购买一副像样的真无线耳机。各种品牌以这个价格在功能和设计方面突破了大家的想象力。但是,很多公司通常专注于功能和设计,这意味着许多产品在聆听体验方面都有些欠缺耳机方便人们生活,让大家选择一款好耳机,给人们带来高品质生活耳机已经慢慢变成了人们日常生活中的必备品,不管是在学习生活还是工作方面,都让大家获得了舒适和便利的体验感。不管耳机的类型如何发展壮大,还是会有许多人追求不断进步的有线耳机,那么接下高端配件HIKZ1S挂脖式蓝牙耳机在我小时候的电子产品还不算特别发达,直到我上小学才出现了智能手机。然而像耳机这类东西在以前就有了,但是大家一般对耳机的要求和需求不会太高,一般就是听听音乐和单词罢了。到了现在,各种确认怀孕后,需要知道的9件事,让你从容面对整个孕期今年年初的时候,我们终于决定生二胎了。在吃了半年叶酸做过孕前体检后,正当满心欢喜地开始正式备孕时,通知要接种新冠疫苗。为了安全着想,在接种完2针疫苗后的两个月,我确认怀孕了。因为有怀孕吐得昏天暗地,对付孕吐有效又便宜的方法居然是这?如果一个女人,不坐车也能吐的昏天暗地,她很可能是怀孕了。我怀我家大宝时,整个孕期除了肚子变大丝毫没有其他特殊感觉,但妯娌就不同了,从知道怀孕开始,一直到怀孕5个多月,她的孕吐几乎就情绪脑发育不好,低情商的孩子3岁前就能看出来,父母还不以为然昨天我妈家的空调坏了,晚上10点多,我妹打电话告诉我,要带两个孩子来我家睡觉。平时我家就我和儿子两个,2米的大床再加3个人虽然有点挤,但也能凑合一下。妹妹带2个孩子睡一头,我带儿子
今夜晚回家我们共成长诺亚舟庆安小剑桥幼儿园毕业礼今夜晚回家我们共成长诺亚舟庆安小剑桥幼儿园毕业礼第一篇时间过得真快不知不觉三年的幼儿园生活即将结束,迎接的将是快乐的小学生活。为了给孩子们留下一份美好的回忆,给孩子们在幼儿园生活划AU小绿罐科普磷脂酰丝氨酸大火,它到底是什么?在最强大脑这档节目中出现过很多记忆精英,几乎所有看过节目的家长都会感叹,人家的脑子是怎么长的!其实,记忆的优劣并非天生而来,后天的训练培养以及营养补充同样重要。处于紧张课业下的学生茄子弯的还是直的好?很多人不懂,菜贩教你3个挑茄技巧最近,发现菜市场里售卖茄子的成分比例慢慢增大了,因为已经陆续到了茄子大量上市的时间节点,这时的茄子,不仅因大量上市的原因,把价格压得非常便宜,而且茄肉鲜嫩软糯,制作的茄子美食更加可茄子别只懂红烧!教你健康好吃的做法,不炒不炸,软糯清爽开胃炎热的夏季,现在到菜市场买菜时,能够随处可见大量新鲜茄子摆放售卖,而且价格非常便宜,这是因为,茄子属于夏季的应季蔬菜之一,也因为大量上市,价格压得非常低,再加上茄子属于为数不多的紫茄子别炒了,铺上蒜蓉烤一烤,茄肉滑糯蒜味十足,味道秒杀烧烤店茄子是夏秋两季的时令蔬菜,富含花青素,维生素E,维生素P,多种矿物质微量元素等,而且因为大量上市的原因,此时的茄子价格非常便宜,常吃茄子,能够美颜清热,特别是一到天热就爱长痱子的人说实话,鸡翅这样做,上桌小孩就抢着吃,不放一滴水,酱味馋哭人所有的小孩子,貌似都有一个共同特点,就是都对各种鸡翅美食情有独钟,外焦里嫩,香酥焦脆的炸鸡翅皮脆焦香的煎鸡翅,卤味十足的卤鸡翅等美食,都很合小孩口味,只要鸡翅在手,妄想从他们嘴中夺贵州一市场肉铺生意被抢,上百老板愤怒围攻他是垄断市场近日,贵州贵阳市,在一个农贸市场内,上百户肉铺老板面对着寥寥无几的客人苦不堪言,而且因为客人太少,很多商家甚至不敢再进货,导致他们生计受到影响。而说到罪魁祸首,老板们都愤愤不平,直湖南一小区物业抓流浪狗,萨摩仗着牵了绳嘚瑟,保安一转头秒怂近日,湖南邵阳市,小区的物业开展流浪狗清理活动,几名保安手持工具在小区内巡逻,流浪狗或者未牵绳的狗狗将会被抓捕。这时,一只牵了绳子的萨摩耶竟不知死活地跟着保安的后面,大摇大摆地走着AU小蓝桶孩子一生仅有两次可变聪明,赶紧抓住美国儿科协会曾联合数所世界知名高校,对宝宝大脑的发育情况深部进行科学探查。研究表明,每个宝宝从一出生开始,宝宝大脑就陆陆续续地进入各项功能的敏感期,这时宝宝的大脑处于一种待开发的状AU小绿罐科普为什么说多巴胺和注意力息息相关?注意力就是人们对某个事物的集中关注的能力。分为无意注意和有意注意,孩子在6岁前大多是以无意注意为主,主要是以兴趣为主,所以看到很多孩子在6岁前,注意力不能集中,喜新厌旧,对新鲜的事AU小绿罐提醒孩子压力越大,自控力反而差经常到很多家长抱怨孩子的自控力很差,如果我们不紧紧盯着他管着他,一看电视就停不下来。做作业磨蹭拖拉,感觉自己越来越累越来越容易发火,孩子不开心,大人吃力不讨好。孩子的自控力薄弱,注