服务器之家:专注于服务器技术及软件下载分享
分类导航

服务器资讯|IT/互联网|云计算|区块链|软件资讯|操作系统|手机数码|百科知识|免费资源|头条新闻|

服务器之家 - 新闻资讯 - 云计算 - 如何在云中调试微服务

如何在云中调试微服务

2021-03-30 23:23企业网D1NetAjit Chelat 云计算

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

如何在云中调试微服务

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

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

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

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

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

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

调试微服务的挑战

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

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

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

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

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

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

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

在云中调试微服务的方法

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

(1)非侵入式调试选项

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

(2)可观察性增强工具

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

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

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

(3)自治异常跟踪

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

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

在云中调试不一定很困难

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

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

延伸 · 阅读

精彩推荐
  • 云计算加快边缘计算发展的十大趋势

    加快边缘计算发展的十大趋势

    在边缘计算中,数据处理发生在网络边缘而不是集中式中心。这意味着网络边缘的设备需要具有处理和存储功能。实际上,边缘计算有许多不同的形式。企...

    企业网D1Net2672020-10-20
  • 云计算Kubernetes 将弃用 Docker

    Kubernetes 将弃用 Docker

    近日,Kubernetes 官方发布公告,宣布自 v1.20 起放弃对 Docker 的支持,届时用户将收到 Docker 弃用警告,并需要改用其他容器运行时。但 Docker 作为容器镜像构...

    开源中国4312020-12-03
  • 云计算使用虚拟私有云的利弊

    使用虚拟私有云的利弊

    虚拟私有云(VPC)实际上是公共云提供商的营销响应,很多提供商发现自己与多年前就已经与OpenStack等私有云竞争。一些企业并不喜欢将数据放置在公共云...

    机房3605782020-06-05
  • 云计算微软与印度信实工业子公司将在云计算等领域进行合作

    微软与印度信实工业子公司将在云计算等领域进行合作

    【TechWeb】8月13日消息,据国外媒体报道,印度信实工业旗下子公司将同微软进行长期的合作,涉及云计算、人工智能等多个领域。 信实工业公司已在官网...

    Techweb3542019-08-14
  • 云计算云原生开发将成为高级部署蓝图

    云原生开发将成为高级部署蓝图

    如今,有些文章介绍了云原生开发蓝图的基础和探索逻辑图,并探讨了在内部部署设施和远程容器上进行云原生开发的用例以及部署蓝图。...

    企业网D1Net2852020-07-12
  • 云计算关于云原生安全,你得关注这些事!

    关于云原生安全,你得关注这些事!

    变化是唯一不变的,也是不可避免的。一段时间以来,云技术领域的 IT 格局发生了变化。企业正在转向云原生领域和容器、Kubernetes和无服务器框架。...

    新钛云服11442021-09-28
  • 云计算企业需要了解的十个云安全优秀实践

    企业需要了解的十个云安全优秀实践

    IT 安全社区因其共享信息和解决方案的特性而备受认可。如果企业正在迁移到云端,或者倾向于提高应用程序的安全性,可以很好地利用这一点。...

    云联壹云9592022-02-17
  • 云计算Rancher 2.7.2 发布,开放的可互操作性再升级

    Rancher 2.7.2 发布,开放的可互操作性再升级

    Rancher 2.7.2 正式发布,主要提升了扩展性,以大幅强化生态能力。此外,作为 Rancher 的商用企业订阅版,Rancher Prime 进一步强化了其企业订阅价值;Rancher De...

    未知732023-05-06