当前位置: 首页 > news >正文

分析阿里巴巴的微服务依赖图和性能

论文对阿里巴巴集群中部署的大规模微服务进行了全面的研究。他们分析了 7 天内 20,000 多个微服务的行为,并根据收集的 100 亿条调用跟踪来分析它们的特征。该论文获得SOCC 2021最佳论文奖。

他们发现:

  • 微服务图在运行时是动态的

  • 大多数图形像树一样分散生长

  • 调用图的大小遵循重尾分布

根据他们的发现,他们提供了一些有关提高微服务运行时性能的实用技巧。他们还开发了一个随机模型来模拟微服务调用图依赖关系,并表明它近似于他们收集的数据集(可在https://github.com/alibaba/clusterdata获取)。

一个微服务运行在多个容器上。对前端微服务的调用会触发对其他微服务的调用,依此类推。在生成的调用图中,每条边将上游微服务 (UM) 连接到它调用的下游微服务 (DM)。呼叫的响应时间 (RT) 是 UM 呼叫其 DM 到收到响应之间的时间。

阿里巴巴集群使用Kubernetes来管理裸机。在线服务(例如微服务)和离线批处理作业共存于同一个裸机节点中,以提高资源利用率。有状态服务(即数据库和Memcached)部署在专用集群中。

微服务调用图的大小遵循重尾分布。大约 10% 的调用图由 40 多个微服务阶段组成。最大的调用图甚至可以包含数百到数千个微服务。对于包含超过 40 个微服务的调用图,其微服务中大约 50% 是 Memcached(MC)。

发现:

  • 调用图变得更深,查询的缓存未命中率迅速增加。当数据在缓存中未命中时,查询将发送到数据库服务。
  • 超过10%的微服务对的乘积>=5,这意味着阿里巴巴集群中很多微服务对具有很强的耦合依赖关系。
  • 微服务调用率与 CPU 利用率和 Java 年轻代垃圾回收 (Young GC) 高度相关,但与内存利用率无关。这意味着与内存利用率相比,CPU 利用率和 Young GC 是微服务容器资源压力更好的指标。阿里巴巴微服务轨迹中大多数容器的内存利用率在运行时几乎稳定(方差小于 10%)。
  • 由于主机 CPU 利用率较高,响应时间 (RT) 可能会大大缩短。当主机CPU利用率超过40%(或80%)时,微服务的RT平均下降20%(或30%)以上。
  • 这些结果表明,大多数在线微服务对 CPU 干扰很敏感,强烈需要更高效的资源调度器,能够很好地平衡不同主机之间的 CPU 利用率。
  • 跟踪显示,每分钟跨主机的 CPU 利用率差异可能高达 20%,这意味着有机会更好地平衡跨主机的批处理工作负载。

https://www.jdon.com/70550.html

相关文章:

分析阿里巴巴的微服务依赖图和性能

论文对阿里巴巴集群中部署的大规模微服务进行了全面的研究。他们分析了 7 天内 20,000 多个微服务的行为,并根据收集的 100 亿条调用跟踪来分析它们的特征。该论文获得SOCC 2021最佳论文奖。 他们发现: 微服务图在运行时是动态的 大多数图形像树一样分…...

Linux——基本指令(一)

写在前面: 我们云服务器搭建的Linux系统,使用的镜像版本CentOS 7.6,使用的Xshell远程连接云服务器 前面我们使用超级管理员root账号登录,一般我们使用普通用户登录,那么如何创建新用户呢? 1.创建新用户 &#xff08…...

虚幻学习笔记10—C++函数与蓝图的通信

一、前言 除了上一章C变量与蓝图通信讲的变量能与蓝图通信外,还有函数和枚举也可以和蓝图通信。函数的关键字为”UFUNCTION“、枚举的关键字为”UENUM“。 二、实现 2.1、BlueprintCallable蓝图中调用 该函数时带执行的,带入如下。编译成功后在蓝图中输…...

无重复字符的最长子串(LeetCode 3)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一:暴力法方法二:滑动窗口 参考文献 1.问题描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。 s 由英文字母、数字、符号和空格组成。 示例 1: 输…...

交付《啤酒游戏经营决策沙盘》的项目

感谢首富客户连续两年的邀请,交付《啤酒游戏经营决策沙盘》的项目,下周一JSTO首席学习官Luna想让我分享下系统思考与投资理财,想到曾经看过的一本书《深度思维》,看到一些结构来预判未来。不仅仅可以应用在企业经营和组织发展上&a…...

油猴(Tampermonkey)浏览器插件简单自定义脚本开发

介绍 浏览器插件,包括油猴插件和其他插件,通过它们可以实现浏览器网页的定制化与功能增强。 其他插件一般只有某种具体的功能,且已经写死而不能更改,比如Adblock插件只用于去广告。 油猴插件是一款用于管理用户脚本的插件&…...

BGP综合

1、使用PreVal策略,确保R4通过R2到达192.168.10.0/24。 2、使用AS_Path策略,确保R4迪过R3到达192.168.11.0/24。 3、配置MED策略,确保R4通过R3到达192.168.12.0/24。 4、使用Local Preference策略,确保R1通过R2到达192.168.1.0…...

库函数qsort的使用及利用冒泡排序模拟实现qsort

文章目录 🚀前言🚀void*类型指针🚀库函数qsort的使用🚀利用冒泡排序实现库函数qsort() 🚀前言 今天阿辉将为大家介绍库函数qsort的使用,还包括利用冒泡排序模拟实现qsort以及void*类型的指针,关…...

mybatis和mybatisplus中对 同namespace 中id重复处理逻辑源码解析

一、背景 同事在同一个mapper.xml (namespace相同),复制了一个sql没有修改id,正常启动项目。但是我以前使用mybatis的时候如果在namespace相同情况下,id重复,项目会报错无法正常启动,后来看代码…...

linux下部署frp客户端服务端-内网穿透

简介 部署在公司内部局域网虚拟机上的服务需要在外网能够访问到,这不就是内网穿透的需求吗,之前通过路由器实现过,现在公司这块路由器不具备这个功能了,目前市面上一些主流的内网穿透工具有:Ngrok,Natapp&…...

Markdown to write

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…...

ResNeXt(2017)

文章目录 Abstract1. Introductionformer workour work 2. Related Work多分支卷积网络分组卷积压缩卷积网络Ensembling 3. Method3.1. Template3.2. Revisiting Simple Neurons3.3. Aggregated Transformations3.4. Model Capacity 4. Experiment 原文地址 源代码 Abstract 我…...

DreamPlace 的下载安装与使用

DreamPlace 是一款芯片放置工具,用于宏单元(macro)和标准单元(Standard Cell)的放置以及布线,并计算 HPWL、Overlap 等用于衡量芯片性能的参数。 一、环境 1. 系统环境:Ubuntu 20.04 DreamPla…...

FPGA模块——SPI协议(读写FLASH)

FPGA模块——SPI协议(读写FLASH) (1)FLASH芯片 W25Q16BV(2)SPI协议(3)芯片部分命令1.Write Enable(06h)2.Chip Erase (C7h / 60h)3.写指令(02h&am…...

SQL自学通之表达式条件语句与运算

目录 一、目标 二、表达式条件语句 1、表达式: 2、条件 2.1、WHERE 子句 三、运算 1、数值型运算: 1.1、加法() 1.2、减法 (-) 1.3、除法(/) 1.4、乘法 (*) 1.5、取模 (%) 优先级别…...

公网域名如何解析到内网IP服务器——快解析域名映射外网访问

在本地搭建主机应用后,由于没有公网IP或没有公网路由权限,在需要发布互联网时,就需要用到外网访问内网的一些方案。由于内网IP在外网不能直接访问,通常就用通过外网域名来访问内网的方法。那么,公网域名如何解析到内网…...

线程安全与并发区别

在并发编程中,"线程安全 "和 "并发 "是相关的概念,但它们有着不同的含义。 线程安全 如果一个类或方法可以同时被多个线程使用,而不会导致数据损坏或意外行为,那么这个类或方法就被认为是线程安全的。即使多…...

SEO优化是什么,如何进行SEO优化

SEO(Search Engine Optimization)是指通过对网站进行优化,提高其在搜索引擎中的排名,从而增加有机流量和改善用户体验的一系列技术和方法。 进行SEO优化可以帮助网站获得更多的有机搜索流量,并提升网站的曝光度和可见…...

nodejs发起http或https请求

前言:使用node内置模块http、https http请求 const express require(express) const http require(http)const app express()const loginConfig (token) > {return {hostname: api.test.com,port: 80,path: /test?access_token${token},method: GET} }app.…...

举例C#使用特性排除某些类成员不参与XML序列化和反序列化

在C#中,可以使用 [XmlIgnore] 特性来排除某些类成员不参与XML序列化和反序列化。这个特性告诉XML序列化器忽略被标记的成员。 以下是一个使用 [XmlIgnore] 特性的示例: using System; using System.IO; using System.Xml.Serialization;public class P…...

PHP基础 - 输入输出

在 PHP 中,有多种方法可以用来输出内容。下面是其中的几种: 1、echo: 这是最常见的输出语句之一,可以输出一个或多个字符串。它是一个语言结构,可以省略括号。使用示例如下: <?php // 使用 echo 语句输出一个字符串 echo "Hello, world!\n";// 可以使用…...

大创项目推荐 交通目标检测-行人车辆检测流量计数 - 大创项目推荐

文章目录 0 前言1\. 目标检测概况1.1 什么是目标检测&#xff1f;1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…...

利用R语言heatmap.2函数进行聚类并画热图

数据聚类然后展示聚类热图是生物信息中组学数据分析的常用方法&#xff0c;在R语言中有很多函数可以实现&#xff0c;譬如heatmap,kmeans等&#xff0c;除此外还有一个用得比较多的就是heatmap.2。最近在网上看到一个笔记文章关于《一步一步学heatmap.2函数》&#xff0c;在此与…...

伦茨科技宣布ST17H6x芯片已通过Apple Find My「查找」认证

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…...

nodejs微信小程序+python+PHP的游戏测评网站设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…...

在 JavaScript 中导入和导出 Excel XLSX 文件:SpreadJS

在 JavaScript 中导入和导出 Excel XLSX 文件 2023 年 12 月 5 日 使用 MESCIUS 的 SpreadJS 将完整的 JavaScript 电子表格添加到您的企业应用程序中。 SpreadJS 是一个完整的企业 JavaScript 电子表格解决方案&#xff0c;用于创建财务报告和仪表板、预算和预测模型、科学、工…...

【Pytorch】Fizz Buzz

文章目录 1 数据编码2 网络搭建3 网络配置&#xff0c;训练4 结果预测5 翻车现场 学习参考来自&#xff1a; Fizz Buzz in Tensorflowhttps://github.com/wmn7/ML_Practice/tree/master/2019_06_10Fizz Buzz in Pytorch I need you to print the numbers from 1 to 100, excep…...

C++ Primer Plus第十四章笔记

目录 1.包含对象成员的类 valarray类简介 1.2 Student类的设计 1.3 接口和实现 1.4 C和约束 2. 私有继承 2.1 私有继承和组合的异同 2.2 初始化基类组件 2.3 访问基类的方法 2.4 访问基类对象 2.5 访问基类的友元函数 2.5 使用组合还是私有继承 3. 保护继承 4. 使…...

CentOS 7 mini 运行环境搭建与测试——CentOS Mini 安装ifconfig工具【云原生开发部署实践笔记】

云原生开发部署实践笔记 一、开发测试环境搭建与测试 1.1 Linux运行环境的搭建与测试 虽然CentOS已经更新到Stream 9 版本&#xff0c;但基于大多数企业和单位多数使用CentOS 7版本作为运行底座&#xff0c;7版本也一直在更行维护&#xff0c;此实践基于CentOS 7 Mini版本搭…...

案例061:基于微信小程序的互助学习系统

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

【ELK03】ES 索引的Mapping映射详解、数据类型和settings属性设置

一、ES 索引的映射和设置 1.MAPPING 映射(MAPPING)就是es中一个决定了文档如何存储,如何生成索引,字段各种类型定义的过程.类似于我们在关系型数据库中创建一个表格数据之前先定义表格有哪些字段,每个字段是什么类型,然后数据会按照这个配置写入表格,ES中同样是这个过程,它由…...

线性代数入门与学习笔记

该内容为重拾部分线性代数知识的学习笔记&#xff0c;内容上更多的是为了解决问题而学习的内容&#xff0c;并非系统化的学习。 针对的问题为&#xff1a;Music算法推导求解过程中的矩阵计算知识。 学习的内容包括&#xff1a;矩阵原理、矩阵行列式、矩阵的秩、线性变换矩阵变换…...

Linux安全学习路标

1. 操作系统基础知识 首先&#xff0c;你需要建立坚实的操作系统基础知识&#xff0c;包括Linux文件系统和目录结构、Linux进程管理、权限管理等基本概念。 2. 网络和通信安全 学习关于网络和通信安全的基础知识&#xff0c;包括TCP/IP协议栈、网络攻击类型、防火墙配置、网…...

常见的中间件--消息队列中间件测试点

最近刷题&#xff0c;看到了有问中间件的题目&#xff0c;于是整理了一些中间件的知识&#xff0c;大多是在小破站上的笔记&#xff0c;仅供大家参考~ 主要分为七个部分来分享&#xff1a; 一、常见的中间件 二、什么是队列&#xff1f; 三、常见消息队列MQ的比较 四、队列…...

【USRP】5G / 6G OAI 系统 5g / 6G OAI system

面向5G/6G科研应用 USRP专门用于5G/6G产品的原型开发与验证。该系统可以在实验室搭建一个真实的5G 网络&#xff0c;基于开源的代码&#xff0c;专为科研用户设计。 软件无线电架构&#xff0c;构建真实5G移动通信系统 X410 采用了目前流行的异构式系统&#xff0c;融合了FP…...

ubuntu20.04设置开机自启动jar(依赖其他服务)

目的&#xff1a; 有的时候我们的项目是部署在物理机上给其他公司员工使用&#xff0c;对于他们来说操作越简单越好。所以我需要实现将我的jar部署在ubuntu上&#xff0c;实现开机自启。&#xff08;我的项目依赖emqx服务&#xff09;。 步骤&#xff1a; 切换到system目录 …...

【GEE笔记】在线分类流程,标注样本点、分类和精度评价

GEE在线分类流程 介绍 GEE&#xff08;Google Earth Engine&#xff09;是一个强大的地理信息处理平台&#xff0c;可以实现在线的遥感影像分析和处理。本文将介绍如何使用GEE进行在线的分类流程&#xff0c;包括标注样本点、分类和精度评价。本文以2020年5月至8月的哨兵2影像…...

MATLAB基础运算

矩阵和数字相乘 就是矩阵里面每个元素跟这个数字乘一遍 矩阵和矩阵相乘 能不能相乘&#xff0c;需要前面矩阵的列数等于后面矩阵的行数&#xff0c;出来的矩阵大小是前面矩阵的行数*后面矩阵的列数。 所以大家会发现&#xff0c;矩阵相乘如果前后调转了&#xff0c;结果会完全…...

Linux DAC权限的简单应用

Linux的DAC&#xff08;Discretionary Access Control&#xff09;权限模型是一种常见的访问控制机制&#xff0c;它用于管理文件和目录的访问权限。作为一名经验丰富的Linux系统安全工程师&#xff0c;我会尽可能以简单明了的方式向计算机小白介绍Linux DAC权限模型。 在Linu…...

JVS低代码表单引擎:数据校验与处理的先锋

随着信息技术的迅速发展&#xff0c;数据校验与处理已经成为了各类应用中不可或缺的一环。尤其是在涉及敏感信息&#xff0c;如密码处理时&#xff0c;其安全性和准确性显得尤为重要。JVS低代码表单引擎提供了强大的文本组件触发逻辑校验功能&#xff0c;它能够在用户填写数据的…...

clickhouse删除partition分区数据

clickhouse分布式表tencent_table_20231208_DIST&#xff0c;本地表tencent_table_20231208_local&#xff1b; 30台clickhouse存储服务器&#xff1b; 本地表&#xff1a;tencent_table_20231208_local CREATE TABLE tencent_sz.tencent_table_20231208_local (id Int64 DEFA…...

持续集成交付CICD:CentOS 7 安装 Nexus 3.63

目录 一、实验 1.CentOS 7 安装Nexus3.63 二、问题 1.安装Nexus报错 2.Nexus启动停止相关命令 一、实验 1.CentOS 7 安装Nexus3.63 &#xff08;1&#xff09;当前操作系统版本&JDK版本 cat /etc/redhat-releasejava -version&#xff08;2&#xff09;下载Nexus新…...

Apache Flink(十):Flink集群基础环境搭建-JDK及MySQL搭建

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...

LVS-DR+Keepalived+动静分离实验

架构图 解释一下架构&#xff0c;大概就是用Keepalived实现两台DR服务器的LVS负载均衡&#xff0c;然后后端服务器是两台Nginx服务器两台Tomcat服务器并且实现动静分离这个实验其实就是把 LVS-DRKeepalived 和 动静分离 给拼起来&#xff0c;真的是拼起来&#xff0c;两个部分…...

java面试题-Hashmap、Hashtable、ConcurrentHashMap原理

远离八股文&#xff0c;面试大白话&#xff0c;通俗且易懂 看完后试着用自己的话复述出来。有问题请指出&#xff0c;有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来&#xff0c;大家一起解决。 java面试题汇总-目录-持续更新中 Hashmap和hashtable存储…...

数据可视化:解锁企业经营的智慧之道

在现代企业管理中&#xff0c;数据可视化已经成为了一项重要的工具。它不仅仅是简单地展示数据&#xff0c;更是提供了深入理解数据、做出更明智决策的方法。作为一名可视化设计从业人员&#xff0c;我经手过一些企业自用的数据可视化项目&#xff0c;今天就来和大家聊聊数据可…...

JVM 性能调优

概述篇 面试题 讲讲你理解的性能评价及测试指标&#xff1f;&#xff08;瓜子&#xff09; 生产环境中的问题 生产环境发生了内存溢出该如何处理&#xff1f;生产环境应该给服务器分配多少内存合适&#xff1f;如何对垃圾回收器的性能进行调优&#xff1f;生产环境CPU负载飙高…...

linux常用命令-yum命令详解(超详细)

文章目录 前言一、yum命令介绍1. yum命令简介2. yum命令的基本语法3. 常用的yum命令选项4. 常用的yum命令参数 二、yum命令示例用法1. 安装软件包2. 更新软件包3. 删除软件包4. 搜索软件包5. 列出已安装的软件包6. 列出可用的软件包7. 清理缓存8. 禁用软件包仓库 总结 前言 yu…...

解决 Element-ui中 表格(Table)使用 v-if 条件切换后,表格的列的筛选不显示了

解决方法 在每个需要使用 v-if 或 v-else 的 el-table-column 上增加 key 作为唯一标识&#xff0c;这样渲染的时候就不会因为复用原则导致列数据混乱了。关于key值&#xff0c;一般习惯使用字段名&#xff0c;也可随机生成一个值&#xff0c;只要具有唯一性就可以。...

Navicat 技术指引 | 适用于 GaussDB 分布式的自动运行功能

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…...