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

    文章

    406

    浏览量

    35396
  • 云计算
    +关注

    关注

    38

    文章

    7347

    浏览量

    135714
  • 服务器
    +关注

    关注

    12

    文章

    8116

    浏览量

    82507
收藏 人收藏

    评论

    相关推荐

    什么是计算 计算的定义

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

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

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

    什么是计算

    浏览器为主。 计算的关键技术 数据存储技术:计算属于超级的、密集型的数据计算,其数据存储量大,所以高效经济的读写数据能力及可靠安全的存储
    发表于 08-09 10:26

    如何用ACM简化你的Spring Cloud微服务环境配置管理

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

    微服务架构下分布式事务解决方案 —— 阿里GTS

    问题,随着docker、devops技术的发展以及各公有paas平台自动化运维工具的推出,微服务的测试、部署与运维会变得越来越容易。而对于第二个问题,现在还没有通用方案很好的解决微服务产生的事务
    发表于 03-16 11:14

    双11同款!阿里发布全局事务服务GTS:每秒处理10万笔事务

    发者无需考虑复杂的事务问题,加速微服务落地,效率比传统的XA协议提升了10倍之多。5月30日,阿里宣布全局事务服务产品GTS正式商用,每秒可处理10万笔事务,将分布式事务这个“贵族技术”变为“平民技术
    发表于 06-05 17:43

    一行代码,保障分布式事务一致性—GTS:微服务架构下分布式事务解决方案

    ,鉴于经验、技术实力等问题,微服务落地更加困难。世界著名的软件架构大师Chris Richardson《Introduction to Microservices》一文也直接了当的指出了
    发表于 06-05 19:14

    Bazaar:阿里Serverless计算服务探秘

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

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

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

    微服务架构和CQRS架构基本概念介绍

    微服务架构现在很热,到处可以看到各大互联网公司的微服务实践的分享总结。但是,我今天的分享和微服务没有关系,希望可以带给大家一些新的东西。如果一定要说微服务和CQRS架构的关系,那我觉得
    发表于 05-22 09:03

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

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

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

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

    java微服务架构有哪些

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

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

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

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

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