一、什么是微服务

使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程中,一般采用轻量级通讯机制互联,并且可以通过自动化方式部署

微服务的特征

  1. 单一职责:紧密相关的业务内聚在一起。比如登录和注册可以作为一个微服务;
  2. 轻量级通讯:与平台无关,与语言无关;
  3. 隔离性:每个微服务运行在自己的进程中;
  4. 有自己的数据:每个微服务都有自己独立的数据存储;
  5. 技术多样性:不论采用什么语言开发,只要能提供相应的API即可。

微服务诞生的背景

  1. 互联网行业快速发展;
  2. 敏捷开发,精益方法深入人心;
  3. 容器技术的发展。

二、微服务部署架构

微服务学习笔记

三、微服务的高可用机制

微服务学习笔记

四、微服务的治理

系统降级-->数据层降级-->柔性可用。

  1. 系统降级
    1. 拒绝部分请求,策略:
      • 拒绝老请求,确保新请求可用
      • RPC队列方式:在队列中请求超时一定时间直接丢弃
      • 非核心请求直接丢地
    2. 关闭部分服务
  2. 数据层降级
    1. 更新请求Update
      1. 持久到消息队列
      2. 只更新缓存
    2. 都请求Read
      1. 只读缓存,如果没读到,也不会再去数据库读取
    3. 数据补齐
      1. 消息队列-->数据库

微服务的监控手段

  1. 进程监控-->alive
  2. 语义监控:模拟用户登录-->正常工作
  3. 日志监控:查看错误日志-->正常工作
  4. 数据波动监控:流量的突增突降
  5. 数据资源监控:服务器资源不足
  6. 其他
    1. 请求平均耗时的实时监控
    2. 请求异常数量的实时监控

 

相关文章: