文章目录
1 总述
1.1 基于微服务的架构的特点
- 有约束的 微服务具有范围有限的单一职责集。微服务遵循UNIX的理念,即应用程序是服务的集合,每个服务只做一件事,并只做好一件事。
- 松耦合的 基于微服务的应用程序是小型服务的集合,服务之间使用非专属调用协议(如HTTP和REST)通过非特定实现的接口彼此交互。与传统的应用程序架构相比,只要微服务的接口没有改变,微服务的所有者可以更加自由地对微服务进行修改。
- 抽象的 微服务完全拥有自己的数据结构和数据源。微服务所拥有的数据只能由该微服务修改,可以通过该微服务数据库的访问控制实现,仅允许该微服务访问。
- 独立的 每个微服务可以独立于应用程序中其他的微服务进行编译和部署。这与依赖更重的单体应用程序相比,对变化进行隔离和测试更容易。
这些特点对于基于云的开发很重要。
1.2 基于云的应用程序的特点
- 拥有庞大而多样化的用户群 不同的用户需要不同的功能,用户不想在使用这些功能前等待漫长的应用程序发布周期。微服务允许功能快速交付,因为一个微服务的范围很小,而且是通过一个定义明确的接口对其进行访问。
- 极高的运行时间要求