课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,软件编程开发架构也开始逐渐使用微服务架构的方式来实现,下面我们就一起来了解一下,关于微服务架构我们需要了解哪些内容。
对于线上任何资源,如果只有服务对它进行调用,那么完全可以基于服务对资源的调用日志来分析资源的使用状况、性能状况。
比如,对于数据库,可以汇总对某个数据库访问的所有服务的调用日志,多维统计之后,就能知道数据库整体被调用状况,及数据库中表的调用的分布状况,每个表的被调用状况,包括被写入了多少数据、被删除了多少数据、被修改了多少数据,每次查询的调用延时统一汇总之后,推算出每个表的查询操作的整体表现及相关的慢查询等等。
对分布式缓存,也可以汇总所有的读、写操作,并计算出读写比例,也可以基于每次的调用结果(是否为null、是否异常)汇总出命中率,正常的缓存表现应该是读多写少,如果推算出的读写比例是读少写多,或者命中率偏低,说明缓存的使用策略有问题,需要进行改进。
对消息队列也类似,可以通过调用日志,计算出单位时间内写入的消息量,以及被消费的消息量,据此推算出消息队列当前的堆积情况。
通过调用日志获取的资源的使用及性能状况,比通过资源自身的监控所获取到的相关指标会更客观一些,毕竟它代表了应用/服务的真实感受。比如对于数据库的访问,请求需要先通过服务的数据库连接池,再穿越网络,后才到达数据库,这中间任何一个环节出现问题,都会影响到终的调用效果。
除此之外,还可以通过服务的调用日志对资源的使用状况进行优化。对线上运维而言,比较头疼的问题是资源分出去之后就收不回来了,因为你也不知道资源是否还在使用,如果结合服务侧的调用日志监控来做资源使用判定的话,则能有效的解决这个问题,比如说,如果通过调用日志发现对某个namespace下的缓存已经没有调用了,那完全可以考虑将这个namespace的缓存资源释放掉。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。