微服务架构
分类:
文章
•
2024-08-25 19:23:16
什么是微服务架构
微服务架构是一种方案
- 以一系列小服务的应用程序,提供业务能力
- 这些应用程序拥有自己独立的进程空间
- 应用之间采用轻量级的通讯机制(通常采用HTTP restful 的方式)
- 这些应用可以采用不同的编程语言、数据存储技术等开发,将其集中管理程度降到最低
- 这些微服务用全自动的独立部署机制
微服务架构的特性
- 微服务架构也是一种面向服务器架构体系,一次架构是对称而非分层,即生产者与消费者的关系,生产者以接口的形式提供服务,消费者使用服务
- 服务是以能力来组织的,并且每个服务都容易被取代
- 不在乎编程语言、数据库、硬件与软件环境实作等,只在乎是否适配
微服务架构的核心–服务注册/服务发现体系
- 系统维护一个全局的服务注册表
通常采用集群的方式保证高可用
常见的有zookeeper、etcd、consul等
- 生产者向服务注册表注册自身的服务信息
- 管控方通过向注册表写入管控参数调整系统行为
例如,负载均衡、服务隔离等
- 消费者根据服务注册表的信息调用对应的服务
微服务架构的不足
- 每个服务之间产生信息屏障
- 微服务架构增加了业务的复杂度,并且引入了新的问题
例如,网络延时、通信协议、负载均衡问题、容错性等
- 增加了测试和部署的复杂度
- 增加了团队协作的沟通成本
服务治理
