当前位置: 首页 > 工具软件 > Mixer > 使用案例 >

Mixer

翟俊远
2023-12-01

Mixer功能

  • 前置条件检查(Precondition Checking):某一服务响应外部请求前,通过Envoy向Mixer发送Check请求,检查该请求是否满足一定的前提条件,包括白名单检查、ACL检查等。
  • 配额管理(Quota Management):当多个请求发生资源竞争时,通过配额管理机制可以实现对资源的有效管理。
  • 遥测报告上报(Telemetry Reporting):该服务处理完请求后,通过Envoy向Mixer上报日志、监控等数据。

Mixer三个svc

  • statsd
  • policy
  • telemetry
  • Mixer分为Policy和Telemetry两个子模块。istio-statsd-prom-bridge 这个服务也是mixer提供的。
  • Envoy发起每个请求前都需要对Policy服务进行Check请求

    • Policy用于向Envoy提供准入策略控制,黑白名单控制,速率限制等相关策略
    • Telemetry为Envoy提供了数据上报和日志搜集服务,以用于监控告警和日志查询。
  • istio-policy

  • Mixer相关组件,用于与envoy交互,check需要上报的数据,确定缓存内容,挂掉会影响check相关功能,除非设置为不进行check
  • Envoy会在每次请求发送前向Mixer Policy发送Check请求检查该请求是否收策略限制或者配额限制
  • 不能直接关闭或者说禁能这个策略组件,因为默认请求都是要去policy pods进行check检测的,如果失败则会导致请求失败,详见
  • 如果要禁能所有的policy策略检查,需要重新编辑整个服务网格的配置,并且重启pilot 容器
  • 全局选项–set global.disablePolicyChecks=true可以禁止策略检查,然后对应的helm install的value.yaml的配置这里修改disablePolicyChecks为true也是OK的。注意这些个策略的更改需要稍等一些时间才能全部生效。修改完需要重启pilot。
  • 通过安装参数–set mixer.enabled=false禁能Mixer组件

istio-telemetry

  • Mixer相关组件的Service,用于采集envoy上报的遥测数据,该组件挂掉将导致各监控运维插件无法采集到数据,同时,该组件在高并发情境下,会承受较大负荷,建议设置为多实例,增强可靠性
  • Envoy每次请求接收后会向Mixer Telemetry上报本次请求的基本信息,如调用是否成功、返回状态码、耗时数据。
  • 暴露9091、9093、15004、42422端口
  • 9093端口是Mixer组件本身的prometheus暴露的端口
  • 42422是所有 Mixer 生成的网格指标
  • 通过安装参数–set mixer.enabled=false禁能Mixer组件

istio-statsd-prom-bridge

  • 暴露9102、9125端口
  • 这个 statsd是一个转换为prometheus的组件,用来统计envoy 生成的数据
 类似资料:

相关阅读

相关文章

相关问答