1.微服务
将一个系统拆分成单个较小的服务,服务与服务之间通过rest方式进行访问
2.如何管理服务
服务自管理
服务注册:服务将自身信息注册到注册中心
服务发现:服务实例通过注册中心,获取到注册中心中服务到实例信息,通过这些信息去请求它们提供服务
服务剔除:服务注册中心将出现问题的服务剔除,使其不会被调用
3.服务之间应该如何调用
restful:是一种http的调用格式,更标准,更通用
rpc:基于tcp,是一种进程间通信的通信方式,运行像调用本地服务一样的调用远程服务,rpc框架的主要目的让远程服务调用更简单,透明,rpc框架负责屏蔽底层的传输方式,序列化和通信细节,开发人员只需要知道谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层的通信细节和调用过程
4.客户端应该怎么访问微服务
服务网关
将所有api调用统一接入到api网关层,由网关层统一接入和输出,一个网关到基本功能有:统一接入,安全防护,协议适配,流量管控,长短链接支持,容错能力
5.如果某个服务出现问题,服务如何自处理(雪崩效应)
服务容错(限流/返回错误信息)
核心思想
(1)不被外界环境影响
(2)不被上游请求压垮
(3)不被下游响应压垮
6.如何排查出现问题的服务
链路追踪
当我们访问服务的时候,会有一条链路跟着流程一起,并且记录日志,我们只需要将日志保存在某个地方,当出现问题了,我们就可以快速定位位置
上面的问题可以使用servicecomb,springcloud,springcloud alibaba
springcloud alibaba
主要功能
1.服务降级限流
2.服务注册与发现
3.分布式配置管理
4.消息驱动能力
5.分布式驱动
6.阿里云对象存储
7.分布式任务调度
8.阿里云短信服务
主要组件
1.sentinel:服务容错(限流,熔断,负载)
2.nacos:服务注册与发现
3.rocketmq:消息
3.dubbo:rpc框架
4.seata:分布式事物
5.alibab cloud sms:短信通讯
6.alibaba cloud acm:
7.alibaba cloud oss:阿里云存储
8.alibaba cloud schedulerx:分布式任务调度