10.凤凰架构:构建可靠的大型分布式系统 --- 可观测性

Posted enlyhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.凤凰架构:构建可靠的大型分布式系统 --- 可观测性相关的知识,希望对你有一定的参考价值。

第10章 可观测性
	客观测性,原本的含义是 "可以由其外部输出判断其内部状态的程度"。学术界一般会将可观测性分解为3个更具体的方向进行研究,分别是:
		1.事件日志(Logging)
			日志的职责是记录离散的事件,通过这些记录分析程序的行为,譬如曾经调用过哪些方法,操作过哪些数据库等。输出日志很容易,但收集和分析日志
		可能会很复杂。

		2.链路追踪(Tracing)
			单体时代追踪的范畴基本只限于 栈追踪。微服务时代,追踪就不只局限于调用栈了,一个外部请求需要内部若干个服务的联动响应,这时候完整的调用轨迹
		将跨越多个服务,同时包含服务间的网络传输信息与各个服务内部的调用堆栈信息,因此分布式追踪又称为"全链路追踪"。追踪的主要目的是排查故障。

		3.聚合度量(Metrics)
			度量是指对系统中某一类信息的统计聚合。度量的主要目的是监控(Monitoring)和预警(Alert)。

	在工业界,日志、度量两个领域的胜利者算是基本已经尘埃落定了。日志收集和分析基本是ELK,还有什么变化的话,基本是Logstash可能被Fluented取代的趋势。
度量方面,跟随k8s统一容易编排的步伐,Promethues有而击败了度量领域的Zabbix为代表众多前辈。
	
	追踪方面的情况与日志、度量不同,追踪是与具体网络协议、程序语言密切相关,收集日志不必关心这段日志是由Java还是Golang输出的,对程序来说它们就是一段非
结构化文本而已,同理,度量对程序来说也只是一个个聚合的数据指标而已。但追踪不一样,各个服务之间使用HTTP还是gRPC来进行通信会直接影响追踪的实现,各个服务
是使用Java还是Golang来编写,也会直接影响进程内调用栈的追踪方式。这种特性决定了追踪工具本身不会一家独大,也决定了追踪工具本身具有较强的入侵性&#x

以上是关于10.凤凰架构:构建可靠的大型分布式系统 --- 可观测性的主要内容,如果未能解决你的问题,请参考以下文章

17.凤凰架构:构建可靠的大型分布式系统 --- 技术演示工程实践

9.凤凰架构:构建可靠的大型分布式系统 --- 可靠通信

5.凤凰架构:构建可靠的大型分布式系统 --- 架构安全性

1.凤凰架构:构建可靠的大型分布式系统 --- 服务架构演进史

1.凤凰架构:构建可靠的大型分布式系统 --- 服务架构演进史

阿里内部第一本“凤凰架构”,保姆级教你构建可靠大型分布式系统