springcloud笔记--微服务应该具备的功能

1.微服务应该具备的功能

  • 服务注册发现
  • 服务负载均衡
  • 服务容错
  • 服务网关
  • 服务配置中心
  • 服务链路追踪
  • 服务实时日志

2.服务注册发现

由于微服务系统的服务力度较小,服务熟练多,所以需要一个共同的注册中心来统一管理微服务实例

注册中心会提供服务的健康检查方案,检查该注册服务收费可用。通常是一个服务实例注册后, 会定时的向服务中心提供‘心跳’检测

3.服务负载均衡

网络往往有不可靠性,为了保证服务高可用性,服务往往都是集群部署的。

4.服务容错

微服务,小而多,一般落地到实际项目中后,服务的数量基本上会非常多,各个服务之间相互调用关联也会错综复杂,一个功能往往需要请求调用多个服务才能完成,如果一个服务暂时不可用了,会影响到依赖于这个不可用的服务的其他服务。一个不可用服务的线程资源消耗完后,进而会调用依赖于它们的服务也不可用,最好导致整个系统处于瘫痪状态了

为了解决这个问题,分布式系统引进了熔断器机制。如果服务处理用户请求失败的次数大于了设定的阀值时,就说明服务出现了故障,打开熔断器,所有请求进行快速失败,不再执行业务逻辑。当处于打开状态的熔断时,过一段时间处于半打开状态,执行一定量的请求,剩余的依然执行快速失败,若执行的请求失败了,继续保持熔断,如果成功了,就关闭熔断器

5.服务网关

网关,对API接口资源进行统一暴露,内部服务部直接对外提供API资源,将内部服务隐藏起来。网关通常有请求转发,安全验证,权限认证等功能,可以实现流量监控,实时日志输出,记录请求访问情况等。

6.配置中心

实际开发中,每一个服务都需要有大量的配置文件,而这些配置文件通常会有dev本地的,test测试的,prod线上的,每个环境也是不一样的。服务越多,配置文件的管理也越复杂。

7.服务链路追踪

微服务按业务划分为多个服务单元,一个用户的请求可能通过前端A,请求到中间件B,或者C,在到达后端服务D或者F,最后才将数据返回给用户。这么一段请求过程,就需要服务链路追踪,快速定位出现问题的地方。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章