微服务(Microservices)是一种软件架构设计模式,它将应用程序分解为小型、自治的服务单元,这些服务单元可以独立部署、扩展和维护,其中每一个服务单元也都是一个微服务。
基于微服务形成的软件架构风格称为微服务架构(Microservices Architecture),它涵盖了使用微服务构建应用程序的全套原则、模式和最佳实践,关注如何将应用程序分解为多个微服务,以及这些服务如何交互、如何维护服务之间的独立性、如何实现服务的持续交付和部署等。在日常使用时,微服务又常被称为微服务架构,两者不区分使用。
微服务架构和云原生架构是现代软件开发中两个紧密相关且经常一起使用的概念,但它们关注的侧重点和应用的范围等有所不同。
总结来看,微服务架构和云原生架构是相辅相成的。微服务架构可以被视为云原生架构的基石,为云原生应用提供了架构设计、分布式部署、敏捷开发等方案,以适应云计算平台的动态特性,为更高层次的云原生架构打下坚实的基础,而云原生技术则提供了实施微服务架构的最佳实践和平台支持。
微服务架构主要是为了解决在应用软件架构时不断出现的业务挑战而产生的。
微服务架构按照业务功能划分服务,服务之间调用采用轻量级的通信框架,具备以下优势:
微服务架构的典型组件概览如下图。
在实际应用时,您需要根据具体业务选择合适的组件构建应用架构。