一、五大组件
- 服务的注册与发现:Eureka
- 负载均衡
- 客户端负载均衡:Ribbon
- 服务端负载均衡:Feign(Feign也是依赖Ribbon,只是将调用方式将RestTemplete 更改成Service 接口)
- 断路器:Hystrix
- 服务网关:Zuul
- 分布式配置:SpringCloud Config
二、常见面试题
1.1 什么是微服务?
- 通常而言,微服务架构是一种架构模式、是一种架构风格
- 它将单一的应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程内,服务之间互相协调,互相配置
- 服务之间采用轻量级的通信机制(HTTP)互相沟通,每个服务都围绕着具体的业务进行构建,并且能狗被独立的部署到生产环境中
- 对具体的一个服务而言,应该根据业务上下文,选择合适的语言,可以使用不同的语言来编写服务,也可以使用不同的数据存储。
- 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地解除耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事情,从技术角度看就是一种小而独立的处理过程,类似进程的概念,能够自行单独启动或销毁,拥有自己独立的数据库。
1.2 微服务之间是如何独立通讯的?
服务之间采用轻量级的通信机制(HTTP)互相沟通