微服务架构原理特征 | 青训营

72 阅读3分钟

复习一下青训营的微服务那节课程。

微服务架构简单介绍

微服务架构是一种软件开发和部署方式,它将一个大型应用程序拆分为一系列更小、独立的服务单元,每个服务单元都专注于执行特定的业务功能。这些服务可以独立开发、测试、部署和扩展,从而提供了灵活性和可维护性的优势。微服务架构是当前大多数互联网公司的标准架构。

微服务架构核心要素:服务治理、可观测性、安全。

微服务架构原理及特征

基本概念:
服务:一组具有逻辑的运行实体。
实例:一个服务中一个运行实体即一个实例。
实例与进程关系:没有必然对应关系,一个实例可以对应一个或多个进程。
集群:通常指服务内部的逻辑划分,包含多个实例。
常见实例承载形式:进程、vm、pod....
有状态/无状态:服务的实例是否存储了可持久化的数据。

原理:
拆分单一应用为小型服务单元:微服务架构的核心原理是将整个应用程序拆分成多个小型、独立的服务单元。每个服务单元专注于执行一个特定的业务功能。

独立开发和部署:每个微服务都可以独立进行开发、测试和部署。这使得团队可以并行工作,并且更容易推出新功能或修复问题。

松耦合:微服务通过明确定义的接口进行通信,彼此之间相对解耦。这意味着一个服务的更改不会对其他服务产生太大影响。

技术多样性:不同的微服务可以使用不同的技术栈和编程语言,以满足各自的需求。这使得团队可以选择最适合其服务的技术。

自治性:每个微服务都可以由不同的团队进行开发、部署和维护。这鼓励团队拥有更大的自治权,加速创新和决策过程。

特征:
独立部署和扩展:微服务可以独立部署,从而允许对特定服务进行快速扩展,而无需影响整个应用。

有限上下文:每个微服务专注于特定的业务领域,使得代码库更加清晰,易于理解和维护。

分布式系统:微服务涉及多个分布式服务的协同工作,需要处理分布式系统挑战,如网络通信、一致性和容错性。

服务治理:微服务需要适当的管理和监控,以确保它们的可用性和性能。这包括服务注册、发现、负载均衡等。

数据管理:微服务需要考虑数据管理的问题,如数据一致性、数据库选择和跨服务的数据交互。

团队组织:团队结构需要适应微服务架构,每个团队负责一个或多个微服务,从而提高效率和创新能力。