分布式追踪:理解和优化分布式系统的关键
1. 分布式软件的优势
分布式软件如今广受欢迎,其优势十分明显:
- 可扩展性 :分布式应用程序能更轻松地响应需求,并且扩展效率更高。例如,当大量用户尝试登录应用程序时,只需扩展登录服务即可。
- 可靠性 :单个组件的故障不应导致整个应用程序崩溃。分布式应用程序通过多种服务进程和主机分散功能,更加具有弹性。即使某个依赖服务离线,也不会影响应用程序的其他部分。
- 可维护性 :分布式软件更易于维护。将服务彼此分离可以让每个组件专注于较少的职责,从而提高可维护性。此外,你可以更自由地添加功能,而无需自己实现和维护。例如,通过依赖云提供商的语音转文本服务,在应用程序中添加该功能。
2. 深度系统的挑战
分布式架构是软件架构师常说的深度系统的典型例子。这些系统的显著特点不是其广度,而是其复杂性。请求可能会经过多个不同层次的服务,每个层次可能还有其他未知的依赖。即使是相对简单的服务,软件也可能依赖大量未编写的代码、云提供商的托管服务或底层编排软件。
这种深度系统带来的问题本质上是人为的。单个人员甚至一组人员很难全面理解单个请求关键路径上的所有服务并持续维护它们。服务所有者能够控制的范围与隐含责任之间的界限变得模糊,这会导致压力和倦怠,因为需要不断应对其他服务所有者的问题,解决故障并弄清楚服务之间的交互方式。
分布式架构需要一种全新的方法来理解软件的健康状况和性能。仅仅查看单个堆栈跟踪或监控CPU和内存利用率是不够的。随着软件在深度和广度上的扩展,日志和指标等遥测数据
分布式追踪:优化分布式系统的关键
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



