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

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

3天内不再提示

微服务的核心特性有哪些,如何进行测试

马哥Linux运维 来源:马哥Linux运维 作者:马哥Linux运维 2021-07-02 16:22 次阅读

微服务,通常指的是一个支持持续开发、系统可扩展、应用程序解耦和多语言编程的架构平台。它在服务边界的帮助下隔离了平台,这使得单独使用和管理每个服务变得更加简单。由于每个服务都是相互独立的,这就使得添加高级功能或扩展变得更加有效和容易。

微服务的核心特性:

每一个服务或单元都是轻量级、独立和松耦合的。

每个服务都有其独立的代码库,由一个小团队设计和开发。

每个服务都有其独立的DevOps计划(开发、测试、发布、扩展和管理)

每个服务可以自由选择自己的技术堆栈。

每个服务有自己的机制来保存他们的信息,这是最适合他们的模式。

服务间常使用REST协议相互通信

微服务架构:主要优势

微服务创造了一种更加灵活和适应性强的 IT 基础设施。它使你可以只更改一项服务,而无需更改基础架构部分。简而言之,你可以配置和更改每项服务,而不会干扰其他应用程序或服务的功能方面。

以下是微服务架构的一些关键优势:

快速交付借助分布式,微服务使团队能够同时开发多个微服务。由于开发周期的缩短,微服务架构使得执行和更新应用程序的速度更快。因此,软件团队有更多的时间专注于他们的业务。

自主性高微服务架构实现了自主开发、部署和运行。因此,如果应用程序遵循相同的方法,服务中的任何故障都不会影响应用程序的其他服务。

职责单一由于较大的单体应用被分解为多个更小的微服务,每个微服务只负责特定范围的功能,因此软件开发人员可以毫不费力地理解、升级和改进这些部分;通过这种方式,可以获得更快的开发周期。

更好的可扩展性随着对特定服务需求的发展,可以在各种基础设施和服务器上执行以满足你的要求。例如,可以根据需求和并发情况,有针对性地扩缩容某个或某几个服务。

易于开发这种应用程序遵循模块化方法,每个服务都比传统的单体应用程序略小。因此,实现单个服务要简单得多。

为什么需要独特的策略来测试微服务?

微服务与各个组织内外的其他微服务,都有着或多或少的通信,此外,微服务的开发团队之间进行也需要大量协作。因此,微服务的测试,需要有一个不同于传统单体应用测试的策略。

微服务性能测试

微服务有很多好处,但是它也面临着复杂的挑战。由于服务间基于REST相互关联,相互调用通信,引发的性能开销可能会使业务陷入困境。例如,在电子商城应用中,如果用户在查看商品详情时等待过久,就会直接影响用户下订单的心情,并可能导致他们去其他地方购买。无论情况如何,可靠性和性能都是软件开发的重要因素,因此企业必须花费必要的精力和时间进行性能测试。

性能测试的重要性众所周知,本文建议必须在两个不同的层次上进行:

系统级别(协同工作的微服务)

微服务级别(单个微服务)

测试的方法:持续监控和自下而上

尽管我们认识到最终用户体验相当重要,但我们不能等到应用程序完全构建后,才进行性能测试,它偏离了左移方法。此外,如果在部署发布后,才发现任何重大的性能故障,也会对业务产生巨大影响。

另一方面,如果我们早期进行微服务性能测试,我们可以在开发阶段发现性能缺陷并立即解决。系统集成后,除集成因素外,API接口/用户界面出现性能故障的可能性较小。如果我们出现了性能缺陷,使用自下而上的方法会有所帮助。

微服务架构的重要之处在于,当微服务崩溃、无响应或不可用时,它不会使整个应用程序宕机。应用程序性能监控工具不仅提供系统的运行状态,而且还通过阈值来主动计算性能。它还可以在早期阶段提示任何潜在的性能缺陷。

微服务性能(负载测试)测试工具

你必须使用高级负载测试服务,来避免意外崩溃,而不是在你的微服务应用程序上执行一些非系统的测试。一些负载测试工具可以生成虚拟流量,模拟大量用户负载进行微服务测试。

以下是市场上一些最好的微服务负载测试工具:

nfluxDB–是用Go语言编写的开源应用程序之一。它是一个可靠、快速且易于查询的时间序列数据库。使用这种用于负载测试工具,你可以轻松发现瓶颈。

pache JMeter–是软件开发人员最常用的测试工具。它也是一个开源应用程序,满足不同规模的软件公司的需求。它还可以让软件开发者对微服务的功能行为进行负载测试,计算不同用户负载下的微服务性能。

mazon CloudWatch–是一种复杂的监控服务,用于监控部署在Amazon Web Services上的应用程序或微服务的资源使用情况。因此,如果你希望对微服务执行负载测试,它可能是一种有益的工具。

rafana–也是指标可视化和分析套件之一。你可以利用它来可视化时间序列数据,以观察你的微服务在实时流量中的表现。

总结

现在,使用微服务架构的项目越来越多,对于 DevOps 团队来说,这意味着测试策略的改变。确保你的应用程序能够经受住现实情况的考验,需要提前进行性能测试,并让你的团队深入了解在系统发布之前需要微调的地方。

因此,选择合适的微服务测试工具,进行完善的测试,是必不可少的。

文章出处:【微信公众号:马哥Linux运维】

责任编辑:gt


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

    关注

    12

    文章

    8086

    浏览量

    82428
  • 应用程序
    +关注

    关注

    37

    文章

    3126

    浏览量

    56312

原文标题:微服务性能是如何测试的?

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何进行RF PA Ruggedness的测试和评估呢?

    关于PA ruggedness设计测试问题,先介绍一下原理,如何进行ruggedness的测试和评估。
    的头像 发表于 03-27 10:19 272次阅读
    如<b class='flag-5'>何进行</b>RF PA Ruggedness的<b class='flag-5'>测试</b>和评估呢?

    何进行充电桩负载测试

    何进行充电桩负载测试  充电桩负载测试是确保充电桩系统高效运行的关键环节之一。在本文中,我们将详尽、详实、细致地探讨充电桩负载测试的步骤、工具和最佳实践,以帮助您有效地
    的头像 发表于 01-18 14:48 215次阅读

    游戏公司不使用微服务架构的原因

    微服务基本只有 request/response 的模式。做不了 streaming?微服务通常要求应用是无状态的才能做到水平扩展。streaming 本身就是加入了状态
    的头像 发表于 12-29 11:18 206次阅读

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

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

    设计微服务架构的原则

    微服务是一种软件架构策略,有利于改善整体性能和可扩展性。你可能会想,我的团队需不需要采用微服务,设计微服务架构有哪些原则?本文会给你一些灵感。文章速览:微服务设计的要素
    的头像 发表于 11-26 08:05 226次阅读
    设计<b class='flag-5'>微服务</b>架构的原则

    docker微服务架构实战

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

    springcloud微服务架构

    Spring Cloud是一个开源的微服务架构框架,它提供了一系列工具和组件,用于构建和管理分布式系统中的微服务。它基于Spring框架,旨在通过简化开发过程和降低系统复杂性来帮助开发人员构建弹性
    的头像 发表于 11-23 09:24 367次阅读

    芯片电学测试何进行?包含哪些测试内容?

    芯片电学测试何进行?包含哪些测试内容? 芯片电学测试是对芯片的电学性能进行测试和评估的过程。它
    的头像 发表于 11-09 09:36 812次阅读

    汽车天窗淋雨设备——防水测试何进行

    汽车天窗淋雨设备——防水测试何进行
    的头像 发表于 10-12 08:14 729次阅读
    汽车天窗淋雨设备——防水<b class='flag-5'>测试</b>如<b class='flag-5'>何进行</b>

    PCBA加工如何进行老化测试

    将深入探讨PCBA在加工过程中如何进行老化测试。1.什么是老化测试?老化测试是指模拟实际应用中的长时间工作状态,让PCBA在连续工作或周期工作下经过一定的时间,以观察其
    的头像 发表于 10-11 09:36 1309次阅读
    PCBA加工如<b class='flag-5'>何进行</b>老化<b class='flag-5'>测试</b>

    何进行编解码性能测试?是否参考程序?

    何进行编解码性能测试?是否参考程序?
    发表于 09-19 06:56

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

    运行层、边缘计算微服务开发层,以及边缘计算微服务工业组件库,旨在提供微服务开发、集成、发布与共享为一体的敏捷式公共开发框架,提升工业微服务开发核心
    的头像 发表于 08-31 16:49 595次阅读
    边缘计算<b class='flag-5'>微服务</b>操作系统的设计与实现

    何进行千兆以太网的一致性测试

    今天我们简单聊一聊,如何进行千兆以太网的Tx一致性测试
    的头像 发表于 07-07 09:32 631次阅读
    如<b class='flag-5'>何进行</b>千兆以太网的一致性<b class='flag-5'>测试</b>

    释放微服务架构全部潜力的关键

    Netflix、亚马逊和 Spotify。但是,微服务到底是什么,你为什么要关心? 微服务架构是一种软件开发技术,可将大型应用程序分解为更小、可管理且独立的服务。每个服务负责特定的功
    的头像 发表于 06-25 11:54 324次阅读
    释放<b class='flag-5'>微服务</b>架构全部潜力的关键

    从分层架构到微服务架构介绍(五)

    本文要介绍的是 服务化架构 (Service-Based Architecture, SBA )。 SBA 可以看成是单体架构和微服务架构之间的一个折中方案,它也是按照业务领域进行服务
    的头像 发表于 05-10 17:02 585次阅读
    从分层架构到<b class='flag-5'>微服务</b>架构介绍(五)