【.com快译】随着人工智能、可穿戴设备、物联网等技术的普及,下一波新兴技术正在向我们袭来。许多组织现在都面临着管理这些单一应用程序的挑战。如今,速度和灵活性至关重要。Netflix、Twitter、eBay和Amazon等大型互联网公司采用的下一个架构创新是微服务。据互联网服务器提供商NGINX称,68%的组织正在使用或研究这种方法。微服务架构在IT行业越来越受欢迎,因为它比许多传统架构方法具有许多优势。例如,在医疗保健领域,这种架构为远程患者监控、使用来自IoT设备的数据进行预测建模、医疗工作流程自动化以及精准医疗的生物信息学分析等新解决方案带来了巨大希望。随着组织采用现代微服务架构,这六个因素可以帮助他们取得成功,同时补充现有的云和DevOps基础设施。微服务架构如何补充云和DevOps?微服务是一种软件开发和架构方法,它将应用程序构建为一组松散耦合、自治且可独立部署的服务。这些小型业务驱动的服务具有定义良好的通信接口,这使得应用程序模块化,更易于构建和测试,并且可以高效地独立部署。微服务方法补充了云和DevOps。多年来,云计算已经成熟,可为快速原型制作提供高效的基础设施解决方案,支持庞大的数据处理和生产需求,并带来比内部IT部门更高的服务水平。与此同时,DevOps有助于更快地交付高质量的软件,同时缩小开发和运营团队之间的差距。将微服务架构与经过验证的DevOps实践相结合,有助于分布式团队更快地创新、控制自己的技术堆栈和标准、管理性能指标、管理开发和发布周期,并最终缩短上市时间。同时,微服务可以通过将单体应用分解为微服务,部署在云平台上,促进逐步上云。这种方法使团队更容易模拟生产工作负载,确保软件可用性、可扩展性和质量,同时提高发布频率。微服务架构设计中的六个考虑因素以下六个考虑因素有助于组织在补充现有云和DevOps基础架构的同时确保成功:服务发现:在复杂的分布式系统中,团队根据负载大小扩展服务实例,这意味着服务实例的数量和他们的位置可能会动态变化。拥有适当的服务发现机制可确保客户端可以根据服务注册表与适当的服务进行通信。服务间通信:在微服务架构中,服务通过同步或异步通信来完成事务。服务间通信机制协调这种通信。如果设计不当,服务之间过多的通信会导致“繁琐”的应用程序和糟糕的性能。为了优化,使用这些经过验证的设计模式:▲Saga模式:由事件或消息触发的一系列事务。▲APIGateway:借助APIGateway,将多个API的调用抽象为一个API调用。▲CommandQueryResponsibilitySeparation(CQRS):使用物化视图进行读写分离,通过订阅事件来更新视图。▲事件溯源:存储事件而不是状态;通过重播事件获取状态。▲服务网格:将服务之间的网络通信卸载到某个软件组件,以确保弹性和服务发现等。数据完整性:由于每个微服务都有自己的数据库,因此确保涉及多个服务的事务之间的数据一致可能是一个挑战。上述模式(例如事件溯源、CQRS和Saga)有助于实现数据一致性。安全性:加密机制和强大的身份验证和授权工具可确保静态和传输中数据的安全。一些组织采用身份即服务和授权即服务解决方案。此外,API需要在API网关后面得到保护,以确保未经授权的用户无法使用令牌获得访问权限。监控和健康检查:随着微服务架构中服务数量的增长,识别和排除问题变得具有挑战性。例如,单个事务可能跨越多个服务调用,因此很难确定性能瓶颈的确切原因。使用分布式事务跟踪和健康检查API的监控系统可确保应用程序高效运行。通过正确的监控和检测,团队可以为关键指标创建可视化,收集历史数据以了解性能趋势,并在出现问题时接收警报。质量保证:微服务通过在服务之间传递消息来处理请求。随着服务数量的增加,自动化测试对于确保所有交互和通信都得到彻底测试非常重要,包括单元测试、集成测试、组件测试和合同测试。此外,每个级别的全面测试确认服务可以独立于其他服务运行或与其他服务一起运行以支持分布式事务。最后,测试表明整体架构足够灵活,可以根据需要支持额外的数据源、框架或库。更快的创新是目标微服务架构是当今重要的IT趋势,这是有充分理由的。与传统的架构方法相比,它具有许多优势并且前景广阔。虽然有许多挑战需要克服,但拥有精心设计的方法、组织良好的分布式团队和可靠的DevOps流程的组织可以通过简单地构建新产品和更新现有产品来使用现代微服务架构更快地进行创新。有应用程序。原标题:采用微服务架构的六个考虑因素,作者:VinilMenon和KhushbooShah
