微服务简介
微服务是小型的独立服务,可以独立演进并单独部署,以支持持续集成和持续交付。微服务架构促进开发和部署由独立、自主、模块化、自包含单元组成的应用程序或一组功能。每个单位都被分配给拥有它的团队进行改进。采用微服务后,团队可以快速发布较新版本的应用程序或功能,而不会中断解决方案的其余部分。
为什么选择微服务?
支持敏捷流程:摆脱基于瀑布的思维方式,将软件项目视为大型的多年资本支出。微服务通过强大的技术平台帮助企业全面采用敏捷开发和部署方法,促进云原生方法和微服务架构设置。
为每个组件利用最适合的技术:开发人员正在选择最佳的语言、框架和工具来编写应用程序的各个部分。一个大型应用程序可能由用 Node.js、Ruby on Rails、Python、R 和 Java 编写的微服务组成。每个微服务都可以使用最适合任务的语言编写。开发微服务的团队可以做出适合这项工作的技术决策。他们可以尝试现代技术、库、语言和框架,从而加快创新周期。
模块化和代码可重用性:如今,组织投资于可组合的可重用构建块。每个微服务就像一个乐高积木,可以插入到应用程序堆栈中。通过投资一组核心微服务,组织可以组装它们来构建满足各种用例的应用程序。
弹性基础架构:市场上有多个云基础架构提供商,如今的企业可以动态配置、配置和编排几百台虚拟服务器。但是,无需启动应用程序服务器的多个实例,而是可以按需横向扩展特定的微服务。微服务简化了负载均衡,因为当负载转移到应用程序的其他部分时,早期的微服务将在横向扩展不同的微服务时进行缩减。
CICD(持续集成和持续交付)的易用性:微服务通过测试驱动开发、持续集成和持续交付帮助小型、自主、位于同一地点的团队成功启动每个功能或应用程序。
去中心化数据和治理:微服务鼓励其开发人员通过始终使用其他人建立的可重用代码库来节省时间,同时也让他们在需要时自由地使用替代解决方案。此外,具有传统体系结构的解决方案跨不同的应用程序使用单个逻辑数据库。在微服务中,为特定应用程序或功能构建的每个服务通常管理其唯一的数据库。
微服务业务优势
缩短上市时间:因为每个微服务都是围绕业务功能构建和调整的,以降低应用程序变更管理流程的复杂性。它加快了新技术、库、语言和框架的更新,从而加快了开发周期,包括回滚。每项服务都经过单独更改、测试和部署,而不会影响其他服务,从而加快上市时间。
卓越的应用程序质量:通过使用微服务架构的“分而治之”方法,团队可以比以前更轻松地执行每个单元的功能和性能测试,因为组件可以单独测试并与完整或虚拟化的微服务集结合使用。它还可以最大限度地减少测试自动化和质量保证开销,并促进子系统上的并发 A/B 发布测试。因此,微服务方法可以全面提高应用程序质量。
零停机部署:微服务支持版本和发布规划流程以及与主容器和多个从属容器的向后兼容性要求。它允许您部署最新版本的微服务,而不会中断其他微服务的运行。
审核编辑:郭婷
-
服务器
+关注
关注
12文章
9015浏览量
85169 -
JAVA
+关注
关注
19文章
2957浏览量
104536
发布评论请先 登录
相关推荐
评论