2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

istio 组件 mixer 初学篇

  • 2019-11-18
  • 本文字数:1455 字

    阅读完需:约 5 分钟

istio组件mixer初学篇

随着项目代码量的不断增加,冗余的代码量就像屋里的杂物越积越多,项目的维护和交接变得越来越困难。微服务的思想油然而生,未来微服务的数量将会非常庞大,如何治理微服务也变得非常重要。本文作者将带领大家对微服务管理工具 istio 进行初探,并对其组件 mixer 进行了详细分析。


我们现在正在尝试将业务微服务化,对现在热门的微服务治理 istio 也开始研究并试用。今天我们就对 istio 的 mixer 组件做一些初步的学习介绍。


既然是初学篇,先简单说一下 istio 的由来。

1 背景简介

单体应用的历史悠长,我们尝过它的优势,也吃过它的苦头。在业务不太大的时候,人力也有限的情况下。 单体应用只用一个 tar 包就可以搞定所有。mvc 是经典的模式。 但是随着项目的扩大,人员的更替。项目的代码量不断增加,接替的人员更容易写新的逻辑,冗余的代码量就像屋里的杂物,越积越多。导致后来,没人敢大胆的修改代码,将修改的代码上线也是异常惊心的旅程。所以我们想用微服务从根本上解决这样的问题,它轻便,松耦合,不限技术栈,给我们带来了希望。


当然我们知道采用微服务化,未来微服务的数量将会庞大。所以需要一个得力的工具能帮助我们治理微服务,就好比现在的 k8s 对容器。我们经过调研,最终选择 istio 做尝试。



我们今天主要学习 mixer 组件,采用拨洋葱的方式分析 mixer 和监控的那点关系。

2 mixer 主要有两个作用

  • 策略:每次请求来,需要 check 是通过还是拒绝。

  • 遥测: 每次请求的状态相关数据上报。

3 mixer 使用

策略对应 pod 的名字是 Policy,可以登陆容器,看一下进程的启动参数。


策略的优势明显,缺点也明显,即损失性能。 因为 Envoy 会在每次请求发送前向 Mixer Policy 发送 Check 请求,检查该请求是否受策略限制或者配额限制。


解决方式:


1.一种是关闭 check,不用每次请求都 check 一下。–set global.disablePolicyChecks=true 可以关闭策略检查。


2.一种是官方策略:mixer cache。


遥测对应 pod 的名字是 telemetry,可以登陆容器,看一下进程的启动参数,和 policy 的差别。


遥测的优势明显,收集到所有的数据。也有一个缺点,即负载问题。 因为 Envoy 每次请求接收后会向 Mixer Telemetry 上报本次请求的基本信息,如调用是否成功、返回状态码、耗时数据。


解决方式:


1.telemetry 起多个 pods,分担压力。


2.官方策略:Envoy report 采用异步模式,Envoy 会向 Mixer 上报日志、监控(log、metrics)等原始数据。

4 mixer 原理

策略缓存的原理

缓存结构定义:



  • referenced_map 用来保存哪些属性组合已经被缓存,比如 {“k1”: “a,b,c”} 这样表示当前只有一个属性组合”a,b,c”被保存。

  • cache 用来保存输入的签名(简单理解为有效输入内容”a=1,b=2,c=3”的 hash 结果)和 check 结果(简化为 true/false 表示是否通过),比如 { “a=1,b=2,c=3”: “true” }。

  • 引入一个重要概念:absence key。 第一层缓存 referenced_map 可以为 {“k1”: “a,b,c”, “k2”: “a,b,c 不存在” }。


更详细的缓存过程,后面会有一篇单独的文章讲它。

遥测上报监控原理

上报的结构体定义。



通过日志查看,上报的数据格式为一些原始的属性值。



数据到达 mixs 端。再做一些加工处理。



然后把数据分发对应的 Template 里。Flush 再让 logentry 和 Metric 等调用各自的 adapter 对数据进行处理,由于各自的 adapter 没有依赖关系,所以这里使用了 golang 的协程进行异步处理。



这时候,登陆 istio 自带的 grafana,就能看到 istio 系统的监控。


本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/V-NEmnEZ5ZYKRpRevMzQJQ


2019-11-18 11:251435

评论

发布
暂无评论
发现更多内容

观测云多步拨测最佳实践

观测云

可用性监测

JVM实战—线上FGC的几种案例

量贩潮汐·WholesaleTide

JVM

Lalamove基于Flink实时湖仓演进之路

Apache Flink

大数据 flink 实时计算

高性能虚拟环境存储解决方案:基于 Xinnor RAID 引擎和 Kioxia PCIe 5.0 驱动器

Sergey Platonov

测试 HPC Performance raid Kiokia

MSKE铭文,一次正确的选择,足以改变你一生命运!

MSKE铭文

比特币行情 MSKE铭文 马斯克铭文 比特币铭文

刚学吉他的人怎么跟谱练习 如何用Guitar Pro软件深入了解乐谱

阿拉灯神丁

吉他学习 吉他谱 Guitar Pro Guitar Pro8 Mac乐谱制作软件

商汤「日日新 V6」发布,国内最强多模态推理;三星新款「球球」机器人将接入 Gemini AI丨日报

声网

从零到一开发 DeepSeek 智能聊天机器人

AI时代的一滴水

Python Chat AI API DeepSeek

HR Path扩大爱尔兰英国业务版图

财见

AI应用突围,中小企业的新周期已至

新消费日报

顶尖认证!Cloud Ace 培训师荣膺 Google Cloud 两项重量级培训师大奖

Cloud Ace 云一

云计算 谷歌云 谷歌云培训

2025上海国际电子元器件展览会

AIOTE智博会

DeepSeek大模型Prompt工程深度实践(开发者空间Notebook版)

华为云开发者联盟

昇腾 DeepSeek 华为开发者空间

从 Greenplum 到 StarRocks:头部金融客户如何通过架构升级实现“实时分析自由”?

镜舟科技

数据架构 金融 分析型数据库 StarRocks 实时分析

镜舟科技亮相 2025 中国移动云智算大会,展示数据湖仓一体创新方案

镜舟科技

人工智能 数据库 数据架构 中国移动 镜舟科技

后端程序员逆袭之路:巧用 AI 工具,拿下高薪 offer

飞算JavaAI开发助手

企业跨地域多分支组网难?SD-WAN轻松解决!

Ogcloud

SD-WAN SD-WAN组网 SD-WAN厂商 sd-wan专线 SD-WAN厂家

IBM收购 Hakkoda Inc.,扩展数据专业能力以推动客户的AI转型

财见

Cloud Ace 荣获 2025 年 Google Cloud 大中华区年度国家合作伙伴大奖!

Cloud Ace 云一

Google Cloud 谷歌云 企业云服务 Google Cloud Next'25

Corinex获投资实现规模扩张

财见

2025年智能合约玩法创新白皮书:九大核心模块与收益模型重构Web3经济范式

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

高并发秒杀系统设计:关键技术解析与典型陷阱规避

飞算JavaAI开发助手

金仓数据库KingbaseES单机扩集群部署方案介绍

金仓技术

数据库· 电科金仓 金仓数据库

全球移动货币业务取得突破

财见

面试官:如果某个业务量突然提升100倍QPS你会怎么做?

不在线第一只蜗牛

程序员 面试

深入研究:京东图片搜索商品API详解

tbapi

京东API 京东拍立淘API 京东图片搜索API 京东图片API

新报告显示西班牙俱乐部在本土青训球员留用方面处于领先地位

新消费日报

外贸企业怎么选网络专线? SD-WAN五大优势助力企业出海!

Ogcloud

SD-WAN 企业组网 SD-WAN组网 sd-wan专线 SD-WAN厂家

2025年全球最富裕城市

财见

a16z 最新报告:AI 数字人应用层即将爆发,或将孕育数十亿美金市场丨 Voice Agent 学习笔记

声网

istio组件mixer初学篇_服务革新_袁小花_InfoQ精选文章