科普 | 什么是微服务?

01.什么是微服务?

      微服务是一种用于构建应用的架构方案,微服务架构有别于为传统的单体应用的是将应用拆分成多个核心功能,每个功能都被称为一个独立的服务,可以单独构建和部署,其中某个服务出现故障也不会影响其他的功能模块,这句体现了其针对特定服务发布,影响小,风险小等特点。

02.微服务的主要特征

1.微服务具有规模小、独立和松散耦合的特点。
2.每个微服务具有一个单独的代码库,可由小型开发团队进行管理。
3.微服务是独立部署的。 团队可以更新现有微服务,而无需重新生成和重新部署整个应用程序。
4.微服务负责将其数据或外部状态保存到各自的数据库中。 与整体体系结构不同,微服务不共享数据库。

03.为什么要使用微服务?

     微服务的优点是其通常各自封装较为简单的客户需求功能,可以独立进行横向扩展或缩减、测试、部署和管理。 微服务方法的一个重要优点是团队更倾向于以客户方案为导向,而非以技术为导向。 小型团队基于客户方案开发微服务,并使用他们想要使用的任何技术。
     微服务提供了长期的灵活性。 通过允许基于许多独立的可部署服务(每项服务都具有精细的自主生命周期)创建应用程序,微服务在复杂、大型和高度可缩放的系统中支持更好的可维护性。
     微服务的另外一大优势是,可以独立横向扩展。可以横向扩展特定的微服务,而无需将单个整体应用程序作为一个单位扩展。 这样便可单独缩放需要更多处理能力或网络带宽以支撑需求的功能区域,而不用横向扩展应用程序中不需要缩放的其他区域。 
     微服务方法允许对每个微服务进行灵活更改和快速迭代,因为可以更改复杂、大型和可缩放的应用程序特定的小区域。
     构建基于微服务的细粒度应用程序使持续集成和持续交付实践可行。 它还加快了应用程序中新功能的交付。 应用程序的细粒度组合还支持以隔离方式运行和测试微服务,并在维护它们之间的清除协定的同时进行自主升级。 只要不更改接口或协定,就可以更改任何微服务的内部实现或添加新功能,而不会中断其他微服务。