通过可观察性避免无服务器反模式
Posted: Tue Mar 25, 2025 10:36 am
无服务器应用程序提供的机会正在改变我们对云原生开发的思维方式。担心复杂且脆弱的云基础设施的日子即将结束。所有这些责任都越来越多地委托给供应商,让您专注于业务逻辑。
然而,当我们把更多的责任放在别人身上时,我们放弃了控制和观察的能力。这会导致黑盒情况,我们不知道无服务器架构 危地马拉电报数据库 如何以及为何以某种方式运行。这使得检测反模式(软件开发中被认为是不良编程实践的某些模式)变得更加困难。
新的无服务器用户更容易受到反模式的影响,因此不了解或不理解这种影响可能会令人沮丧,因为它会为采用这种方法设置障碍。
可观察性减轻了这种黑盒效应,了解潜在的反模式使我们能够监控正确的指标并采取适当的措施。在本文中,我们将研究无服务器特有的一些主要反模式,并描述正确的可观察性
策略如何减轻它们的影响。祝您阅读愉快!
使用同步
当团队和公司开始采用无服务器时,他们可能犯的最大错误之一就是在设计架构时没有摆脱整体思维。这带来了控制器功能的引入和待机功能的丧失。因此,闲置的功能也将被收费,因为从技术上讲它仍然处于活跃状态。这违背了无服务器共享原则。
当函数链接在一起时,这个问题更加明显。这是一个函数异步调用另一个函数并等待响应的过程,而第二个函数对存储服务执行读/写操作。由于第一个功能可能会超时,这增加了不可靠性的可能性。当函数调用本地存储设备或供应商生态系统之外的设备时,情况会更加糟糕。
你应该注意什么?
反模式的明显影响是潜在的更高成本和更高的超时可能性。因此,第一步就是密切关注它。
根据您的监控工具,通过针对这些指标设置警报可以使流程更加高效。对于深入分析,调查应用程序的广泛足迹可以获得更明智的见解。这是因为,随着向微服务的转变,系统本身变得分布式。
因此,可观察性有助于采取一种更全面的方法,其中必须跟踪每个交易流。服务中的错误或延迟可能是由上游、下游或两者引起的。
有必要分享吗?
在某些情况下,函数之间需要共享库、业务甚至代码库。然而,这导致了一种违背无服务器架构的依赖和耦合形式。
由此产生的最常见的陷阱就是可扩展性变得难以实现。由于系统和功能的规模不断相互依赖,因此出现错误、停机和延迟的风险更高。结果,为无服务器可扩展性属性创建了一个反模式。
出现此类问题的一个例子是在机器学习中,当需要在用于处理测试、验证和训练数据集的多个函数之间共享大型库时。
大多数情况下,共享代码库和逻辑的需求不仅会产生反模式,还会给无服务器功能带来技术限制。
然而,当我们把更多的责任放在别人身上时,我们放弃了控制和观察的能力。这会导致黑盒情况,我们不知道无服务器架构 危地马拉电报数据库 如何以及为何以某种方式运行。这使得检测反模式(软件开发中被认为是不良编程实践的某些模式)变得更加困难。
新的无服务器用户更容易受到反模式的影响,因此不了解或不理解这种影响可能会令人沮丧,因为它会为采用这种方法设置障碍。
可观察性减轻了这种黑盒效应,了解潜在的反模式使我们能够监控正确的指标并采取适当的措施。在本文中,我们将研究无服务器特有的一些主要反模式,并描述正确的可观察性
策略如何减轻它们的影响。祝您阅读愉快!
使用同步
当团队和公司开始采用无服务器时,他们可能犯的最大错误之一就是在设计架构时没有摆脱整体思维。这带来了控制器功能的引入和待机功能的丧失。因此,闲置的功能也将被收费,因为从技术上讲它仍然处于活跃状态。这违背了无服务器共享原则。
当函数链接在一起时,这个问题更加明显。这是一个函数异步调用另一个函数并等待响应的过程,而第二个函数对存储服务执行读/写操作。由于第一个功能可能会超时,这增加了不可靠性的可能性。当函数调用本地存储设备或供应商生态系统之外的设备时,情况会更加糟糕。
你应该注意什么?
反模式的明显影响是潜在的更高成本和更高的超时可能性。因此,第一步就是密切关注它。
根据您的监控工具,通过针对这些指标设置警报可以使流程更加高效。对于深入分析,调查应用程序的广泛足迹可以获得更明智的见解。这是因为,随着向微服务的转变,系统本身变得分布式。
因此,可观察性有助于采取一种更全面的方法,其中必须跟踪每个交易流。服务中的错误或延迟可能是由上游、下游或两者引起的。
有必要分享吗?
在某些情况下,函数之间需要共享库、业务甚至代码库。然而,这导致了一种违背无服务器架构的依赖和耦合形式。
由此产生的最常见的陷阱就是可扩展性变得难以实现。由于系统和功能的规模不断相互依赖,因此出现错误、停机和延迟的风险更高。结果,为无服务器可扩展性属性创建了一个反模式。
出现此类问题的一个例子是在机器学习中,当需要在用于处理测试、验证和训练数据集的多个函数之间共享大型库时。
大多数情况下,共享代码库和逻辑的需求不仅会产生反模式,还会给无服务器功能带来技术限制。