四 Mixer
Mixer在应用程序和基础架构后端之间提供通过中介层。它的设计将策略决策移出应用层,用运维人员能够控制的配置取而代之。
Mixer的设计目的是改变层次之间的边界,以此降低总体复杂性。从服务代码中剔除策略逻辑,改由运维人员进行控制。
Mixer提供三个核心功能:
- 前提条件检查:服务在响应在处理请求前验证一些前提条件。
- 配额管理:
- 遥测报告:服务能上报日志和监控。
这些机制是基于一组属性的,每个请求都会将这些属性呈现给Mixer。在Istio中,这些属性来之与Sidecar代理的每一次请求。
适配器
Mixer是高度模块化和可扩展的组件。他的一个关键功能就是把不同后端的策略和遥测系统的细节抽象出来,让Envoy以及基于Istio的服务能够独立于这些后端,从而保证可移植性。
配置状态
Mixer的核心运行时方法check和report都接受来自输入的一组属性。Mixer的当前配置会根据输入属性决定每个方法的工作内容。为此服务运维的工作:
- 配置一组Handler。 Handler是配置完成的Adapter。
- 基于属性和常量。为Mixer配置一组instance,instance表达了一套提供给Adapter处理的数据。
- 配置一套Rule。 Mixer在每次请求时都会执行这些Rule。Rule由匹配表达式和对应的Action构成。Action中设置了需要生成的Instance和处理这些instance所需要的Handler。
需要上述配置状态才能让Mixer知道如何处理传入的属性并分发到适当的基础设置后端。
请求阶段
请求进入Mixer时,处理阶段:
- 生成补充属性
- 决议
- 属性处理
- 适配器调度
Mixer配置
Mixer的配置模式可以利用其所有功能和灵活性。主要功能:
- 专为运维人员设计:运维人员通过操纵配置资源来控制Mixer部署中的所有操作和策略切面。
- 灵活:配置模型围绕Istio的属性构建,
- 健壮:
- 扩展:
Mixer概念
Mixer是一种属性处理机器。请求到达Mixer时带有一组属性,基于这些属性,Mixer会生成对各种基础设施的调用。这些后端包括频率限制、访问控制、策略实施等各种系统。该属性集确定Mixer为给定的请求用哪些参数调用哪些后端。为了隐藏后端的细节,Mixer使用称为适配器的模块。
Mixer的配置有几个中心职责:
- 描述哪些适配器正在使用以及他们的操作方式。
- 描述如何将请求属性映射到适配器参数中。
- 描述使用特定参数调用适配器的时机。
配置基于适配器和模板来完成:
- 适配器封装了Mixer和特定基础设施后端之间的接口
- 模板定义了从特定请求的属性到适配器输入的映射关系。一个适配器可以支持任意数量的模板。
配置使用YAML格式表示,围绕几个核心抽象构建:
- Handler: 就是一个配置完成的适配器。
- 实例:一个请求实例就是请求属性到一个模板的映射结果。
- 规则:规则确定了何时使用一个特定的模板配置来调用一个Handler.
Hanler
适配器封装了Mixer和特定外部基础设施后端进行交互的必要接口
实例:
四 Mixer的更多相关文章
- 转载——用Mixer API函数调节控制面板的音频设置
关键词:Mixer函数,控制面板,音频设备调节 如果你用过windows的音频设备,比如播放音乐或者录音,聊天,调节麦克或者声音的大小,以及设置静音,都可以通过控制面板中的音频设置面板来调节,你对于下 ...
- 从零开始学习PYTHON3讲义(十四)写一个mp3播放器
<从零开始PYTHON3>第十四讲 通常来说,Python解释执行,运行速度慢,并不适合完整的开发游戏.随着电脑速度的快速提高,这种情况有所好转,但开发游戏仍然不是Python的重点工作. ...
- 云原生 - Istio可观察性之监控(四)
作者:justmine 头条号:大数据与云原生 微信公众号:大数据与云原生 创作不易,在满足创作共用版权协议的基础上可以转载,但请以超链接形式注明出处. 为了方便阅读,微信公众号已按分类排版,后续的文 ...
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户
阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- MVVM设计模式和WPF中的实现(四)事件绑定
MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- “四核”驱动的“三维”导航 -- 淘宝新UI(需求分析篇)
前言 孔子说:"软件是对客观世界的抽象". 首先声明,这里的"三维导航"和地图没一毛钱关系,"四核驱动"和硬件也没关系,而是为了复杂的应用而 ...
随机推荐
- 导出android真机上应用的apk文件
1. 首先你的手机要开启调试模式 2. 终端输入命令行 (这个时候需要在手机端打开此应用.它的思路是抓取出当前窗口的包名.以下命令操作自己未亲自验证.) adb shell dumpsys windo ...
- Spark基本概念快速入门
Spark集群 一组计算机的集合,每个计算机节点作为独立的计算资源,又可以虚拟出多个具备计算能力的虚拟机,这些虚拟机是集群中的计算单元.Spark的核心模块专注于调度和管理虚拟机之上分布式计算任务 ...
- HDU 5877 Weak Pair (2016年大连网络赛 J dfs+反向思维)
正难则反的思想还是不能灵活应用啊 题意:给你n个点,每个点有一个权值,接着是n-1有向条边形成一颗有根树,问你有多少对点的权值乘积小于等于给定的值k,其中这对点必须是孩子节点与祖先的关系 我们反向思考 ...
- 2017 GDS 全球域名大会7月7日举行
2017年域名行业历经产业波澜,引发域名圈内对域名价值衍生及商业模式的探索.如今无论域名注册商.域名交易平台.域名拍卖平台都在寻找更好的商业模式,开启域名行业新航向. 7月,在中国域名之都厦门将掀起一 ...
- JavaWeb -- 内省—beanutils工具包 的使用
Apache组织开发了一套用于操作JavaBean的API,这套API考虑到了很多实际开发中的应用场景,因此在实际开发中很多程序员使用这套API操作JavaBean,以简化程序代码的编写. Beanu ...
- QT QMimeData类
http://blog.csdn.net/xie376450483/article/details/5863810 QMimeData类提为数据提供一个容器,用来记录关于MIME类型数据的信息 QMi ...
- SPOJ1825 FTOUR2 - Free tour II
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- 自己动手写OpenStack的QoS功能(4)
本文地址:http://blog.csdn.net/spch2008/article/details/9283561 数据库相应操作已完成,对OVS-Plugin进行修改. 在quantum\plug ...
- 交换排序—快速排序(Quick Sort)原理以及Java实现
交换排序—快速排序(Quick Sort) 基本思想: 1)选择一个基准元素,通常选择第一个元素或者最后一个元素, 2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素 ...
- (转) Android Service完全解析,关于服务你所需知道的一切(上)
相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了.Service作为Android四大组件之一,在每一个应用程序 ...