0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何更好地在云计算中调试微服务?

如意 来源:企业网D1Net 作者:Ajit Chelat 2021-04-05 17:07 次阅读

调试微服务对于工作人员来说似乎令人生畏,而采用正确的工具和策略可以使他们更轻松地开展工作。

信息架构的增长促使许多组织采用云服务,并随着时间的推移而增长。微服务在这方面一直处于领先地位,并且在设计各种应用程序以使其成为可独立部署的服务方面,其受欢迎程度呈指数级增长。

在O‘Reilly公司的一项调查中,50%以上的受访者表示,他们组织中50%以上的新开发项目使用微服务。

单片机系统中,整个应用程序可能会由于模块中的单个错误而失败。使用独立的模块为开发人员提供了更广泛的灵活性,可以编辑和部署可定制的代码,而不必担心影响独立的模块。

但是,当意外引发错误时,这种方法会带来独特的挑战。由于信息架构的复杂性以及从开发阶段到生产阶段的过渡,在云中调试微服务可能是一项艰巨的任务。

以下探讨一下面临的一些挑战以及如何无缝地应对这些挑战。

调试微服务的挑战

(1)追踪和可观察性不足

微服务需求的增长带来了基础设施的复杂性。每一个云组件、模块和无服务器调用通常都隐藏了基础设施的复杂性,这使得DevOps和运营团队很难根据输出跟踪和观察微服务的内部状态。独立运行的微服务难以跟踪异步模块中存在的任何用户请求,这可能会导致错误的链式复制。这也意味着检测相互交互的服务可能会受到这些错误的影响。这些因素使得查明任何错误或错误的根本原因对于开发人员来说是一项艰巨的任务。

(2)在复杂环境中监视状态

由于许多微服务聚集在一起来构建系统,因此监视其状态变得很复杂。随着更多的微服务组件添加到系统中,复杂的服务网格逐渐发展,而每个模块都独立运行。这也带来了任何一个模块随时可能发生故障,但不会影响其他模块运行的可能性。

开发人员可能发现调试某些特定微服务中的错误非常困难。其中的每一个都可以用不同的编程语言进行编码,具有独特的日志记录功能,并且大多独立于其他组件。

(3)从开发到生产可能是不可预测的

在将代码从开发阶段移动到生产阶段时,性能和状态错误也是不可预测的。即使在集成和单元测试之后,人们也无法预测代码在分布式服务器上处理成千上万个请求时的性能。如果代码扩展不充分或者数据库无法处理请求,那么开发人员几乎无法检测到系统中的潜在错误。

在云中调试微服务的方法

以下是一些特定于微服务的调试方法,这些方法可以帮助组织解决以下提到的挑战:

(1)非侵入式调试选项

与传统的调试方法不同,第三方工具可以通过中断或暂停服务来帮助DevOps团队设置不会影响调试过程执行的断点。这些方法是非侵入性的,允许开发人员查看全局变量和堆栈跟踪,这有助于他们更有效地监视和检测错误。它还允许开发人员在不停止代码运行或重新部署其代码库的情况下测试可能出现的有关问题。

(2)可观察性增强工具

任何具有大量微服务的系统都很难跟踪请求。尽管人们可能认为构建可观察性的自定义平台是解决这个问题的答案,但它在开发过程中会消耗大量的时间和资源。

幸运的是,许多现代的第三方工具旨在跟踪请求。并为微服务提供广泛的可观察性。这些工具提供了很多功能,例如分布式和无服务器计算功能。

例如,Thundra之类的工具可以帮助组织监视生产过程中遍历其基础设施的用户请求,帮助开发人员全面了解编码环境,查明错误源头,并快速调试。

(3)自治异常跟踪

对于系统而言,首先要意识到发现错误是一项艰巨的任务。系统必须自动跟踪发生的任何异常,从而帮助系统识别重复模式或破坏性行为,例如闰年错误、浏览器中特定版本的错误、奇数堆栈溢出等等。

但是,发现这些错误只是成功的一半。系统还需要跟踪变量和日志,以查明错误发生的时间和条件。这有助于开发人员找到最有效的解决方案以消除错误。全面的监视可以显著简化生产中的调试过程。

在云中调试不一定很困难

在现代微服务中,调试对任何人来说都是一个非常复杂的过程。跟踪用户请求和预测代码可扩展性的能力非常复杂。然而,现代工具可以使开发人员更容易地监视、检测和解决错误。

采用快速部署的微服务架构设计,并且使用正确的工具集,对于开发人员来说,可以使其调试变得更加简单。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 信息
    +关注

    关注

    0

    文章

    405

    浏览量

    35521
  • 云计算
    +关注

    关注

    39

    文章

    7744

    浏览量

    137216
  • 服务器
    +关注

    关注

    12

    文章

    9034

    浏览量

    85211
收藏 人收藏

    评论

    相关推荐

    什么是计算 计算的定义

    什么是计算 计算的定义计算是分布式计算技术的一
    发表于 11-18 17:23

    别再提什么计算,你需要的只是服务

      这些天有不少创业者询问计算服务的区别,就连有一定经验的开发者,面对这两个概念的时仍然是一头雾水。  
    发表于 05-23 18:27

    Bazaar:阿里Serverless计算服务探秘

    完成。从而将业务开发人员解放出来,让他们更好的关注自身业务。这便是 Serverless 计算背后的核心思想。可见这一思想能够产生的一大基石便是计算
    发表于 06-08 15:35

    使用阿里ACM简化你的Spring Cloud微服务环境配置管理

    摘要: 本文我们就如何使用阿里ACM这样的配置管理产品Spring Cloud替代Spring Cloud Config帮助简化环境配置管理做一个简单的示例,帮助你理解基于ACM来简化
    发表于 07-04 17:16

    微服务网关gateway的相关资料推荐

    采用微服务架构,显示在产品页上的数据会分布不同的微服务上,比如:购物车服务——购物车的件数订单服务
    发表于 12-23 08:19

    芯一号ARM微服务器板卡的方法和过程介绍

    1、芯一号统一固件和多分区镜像文件的方法芯一号是极术社区发布的一款ARM微型服务器板卡,有幸成为“芯一号”ARM微服务器的第一批试用工
    发表于 06-16 16:02

    java微服务架构有哪些

    本文首先简单介绍了微服务的概念以及使用微服务所能带来的优势,然后结合实例介绍了几个常见的Java微服务框架。微服务开发领域的应用越来越广泛
    的头像 发表于 02-09 10:34 8627次阅读
    java<b class='flag-5'>微服务</b>架构有哪些

    云原生技术将是企业落地微服务的优秀伴侣

    随着技术的发展,我们托管时代逐步的向云原生演进了。所谓云原生,就是将微服务、DevOps的架构理念与所提供的容器、Serverless无服务
    的头像 发表于 10-08 14:37 1922次阅读

    微服务软件架构应用研究综述

    自2014年,微服务架构概念经Martin Flower提出以来,受到广泛关注,为更好了解微服务架构风格,本文首先分析、梳理了软件架构的发展历程,随后介绍了微服务架构的原理、设计和目前
    发表于 05-26 09:26 2次下载

    华为服务治理 | 微服务常见故障模式

    ),微服务可观测性能力(日志、监控、告警等)构建等。 华为微服务治理专题主要探讨运行时治理。我们首先从常见的故障模式开始。 扩容缩容 扩容场景下,新启动的
    的头像 发表于 01-18 17:44 757次阅读

    微服务架构服务之间如何互相调用呢?

    微服务架构,需要调用很多服务才能完成一项功能。服务之间如何互相调用就变成微服务架构
    的头像 发表于 01-31 09:46 2177次阅读

    边缘计算微服务操作系统的设计与实现

    面对边缘计算运行环境不统一、适配难,工业边缘计算微服务开发难度高,微服务生态系统碎片化,以及工业边缘计算行业应用难以落地等技术和行业共性问题
    的头像 发表于 08-31 16:49 1070次阅读
    边缘<b class='flag-5'>计算</b><b class='flag-5'>微服务</b>操作系统的设计与实现

    docker微服务架构实战

    随着计算和容器化技术的快速发展,微服务架构软件开发领域中变得越来越流行。微服务架构将一个大型的软件应用拆分成多个小型的、独立部署的
    的头像 发表于 11-23 09:26 633次阅读

    如何构建弹性、高可用的微服务

    基于微服务的应用程序可实现战略性数字转型和迁移计划,对于开发团队来说,这种架构十分重要。那么,如何来构建弹性、高可用的微服务呢?RedisEnterprise给出了一个完美的方案。文况速览
    的头像 发表于 11-26 08:06 456次阅读
    如何构建弹性、高可用的<b class='flag-5'>微服务</b>?

    微服务架构与容器的关系与区别

    微服务架构与容器密切相关又有所区别。微服务将大型应用拆分为小型、独立的服务,而容器基于容器技术,为
    的头像 发表于 10-21 17:28 177次阅读