CAT总体介绍 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面的监控服务和决策支持...CAT作为大众点评网基础监控组件,它已经在中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等)中得到广泛应用,为点评各业务线提供系统的性能指标、健康状况、基础告警等。 CAT解决什么问题?...2000+ 业务应用(包括部分.net以及Job) 7000+ 应用服务器 50TB 消息,~450亿消息(每天) 项目地址:https://github.com/dianping/cat 大众点评网监控系统架构剖析...点评这些也在用,主要是zabbix,他和CAT互相补充。 之前小米开源的系统应该也是基于指标的画图以及告警,和CAT应该是两类不同的系统。...App监控点评做了三个部分: 返回码系统(多维度下,API、城市、运营商、网络、APP版本等) 实时Crash日志(版本、平台、模块等维度) 测速系统(打开一个APP某个页面的分段速度测试,一个页面可能包括广告
,提高认知,比如写点评、分享、收藏等。...此外,面对大众点评超大数据流量的冲击,我们还要保证时效性和稳定性,这对系统也提出了非常高的要求。在这样的背景下,我们搭建了一套用户行为系统(User Action System,以下简称UAS)。...无法满足现有业务系统的查询需求,如何让系统既统一又灵活?这对我们的业务架构能力提出了新要求。 针对问题模型,方案思考 格式统一 面对繁杂的格式,我们如何进行统一?...系统整体架构 针对这样的一些想法,开始搭建我们的UAS系统,下图是UAS系统目前的整体架构: ?...---------- END ---------- 也许你还想看 大众点评账号业务高可用进阶之路 数据驱动精准化营销在大众点评的实践 WWDC案例解读:大众点评相机直接扫描支付是怎么实现的
《深入理解计算机系统》这本书的质量着实很高,内容丰富充实,课后的实验也都很有意思,也有一定的难度。当时做这鬼东西也是花了我不少时间最终还有几道题去网上查阅了答案才写完,勉强看看吧。
项目地址:https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo...
自动化的故障模拟系统业界已有实践,如Netflix的SimianAmy,阿里的MonkeyKing等。 美团点评内部也有类似的工具,casekiller等等。...另外,在Client,当前针对美团点评使用的Thrift协议,进行: 流量染色。...多次请求,观察CAT(美团点评开发的开源监控系统,参考之前的博客)报表,其中Receive为接收到的需要转发的次数,Dispatch为实际转发数量。 ?...还会有更多的课题等待我们去攻克,希望感兴趣的同学可以一起参与进来,和我们共同把系统做得更好。 参考资料 分布式会话跟踪系统架构设计与实践,美团点评技术博客....从0到1构建美团压测工具,美团点评技术博客. javassit.
尤其是经过与大众点评的业务融合,从单一业务发展成了覆盖到店餐饮、到店综合、猫眼、外卖、酒店、旅游等多个垂直领域的综合性电商,并且在各个领域都处于行业领先的地位。...在这背后,美团点评不仅面临激烈的行业竞争,还有黑色产业(以下简称“黑产”)带来的各种风险,因为我们的业务有这样一些特点: 品类多、覆盖面广:包括几乎所有吃喝玩乐服务,其中不乏容易被销赃的品类。...用户多、商户多:美团点评拥有6亿以上用户,400万以上合作商家,覆盖了很大部分国内网民和商户。 交易高频:每日订单峰值突破千万。...所以美团点评需要一套灵活高效的风险控制系统和工作机制来防控这些风险。 归纳一下,风控系统面临的挑战有: 业务多、风险点多:上面提到的风险涉及到各个业务的购买流程、用户操作、商家操作等多个场景。...以美团点评为例,可带来的利益有: 促销优惠:相关的风险场景有下单、支付、购买、验券等。 商家销量和排名等:涉及购买、搜索、销量展示等页面。 用户余额:即需要控制登录、查看余额等动作。
背景 美团点评作为国内最大的O2O平台,业务热度的高峰低谷非常显著且规律,如果遇到节假日或促销活动,流量还会在短时间内出现成倍的增长。...我们选择HULK作为项目名,就是希望美团点评服务在接入HULK之后可以拥有绿巨人般强大的变身能力(弹性扩缩),进而在此基础上提升服务的健壮性、稳定性及资源利用率。 ?...但这种方案对Google中的部分C/C++服务适用,在美团点评Java服务的场景下,实例内存配额调整可能会导致OOM,而重启服务非我们所愿。 下图是HULK某台宿主机一天内的实例部署情况: ?...根据美团点评的服务特性,HULK会尽量保证在早晚高峰的时期动态扩容在线服务承接流量,而在低峰期会对应缩容在线服务,并调度部署离线任务执行。...我们从美团点评的服务特殊性出发,打造适用于大规模容器化场景的调度体系,后续还会在大数据离线任务场景下做更优化的深层智能调度。
这是我自学 MIT6.S081 操作系统课程的 lab 代码笔记第二篇:System calls。此 lab 大致耗时:4小时。...课程地址:https://pdos.csail.mit.edu/6.S081/2020/schedule.html Lab 地址:https://pdos.csail.mit.edu/6.S081/2020...Lab 2: System calls In this lab you will add some new system calls to xv6, which will help you understand...添加一个系统调用 trace 的功能,为每个进程设定一个位 mask,用 mask 中设定的位来指定要为哪些系统调用输出调试信息。...p->trapframe->a0 = syscalls[num](); // 通过系统调用编号,获取系统调用处理函数的指针,调用并将返回值存到用户进程的 a0 寄存器中 // 如果当前进程设置了对该编号系统调用的
更新下本实验室的两款开源工具箱的进展: 1 - AR lab 效果演示 ? 我一直有关注AR领域的创新,尤其是多屏联动、实时互动、图像分割算法等技术。
论坛里有这样一个帖子,看完后,心情深舒畅。 在各大技术论坛大家好像都写了很多类似小而精巧的问题,供大家讨论,切磋,就像一杯小的 java tea,工作之余喝一口...
Synopsys解决方案包括: · System Creation(系统生成) · System Verification and Analysis(系统验证与分析) · Design Planning...3.ICC( IC Compiler ) IC Compiler是Synopsys新一代布局布线系统(Astro是前一代布局布线系统),通过将物理综合扩展到整个布局和布线过程以及签核驱动的设计收敛,...作为一套完整的布局布线设计系统,它包括了实现下一代设计所必需的一切功能,如物理综合、布局、布线、时序、信号完整性(SI)优化、低功耗、可测性设计(DFT)和良率优化。...该款工具为ASIC、片上系统(SoC)、数字定制、内存和模拟电路的设计提供了一个统一的解决方案。
总览 一级需求 二级需求 管理门户 会员门户 三级需求 系统管理 企业中心 会员中心 统计分析 四级需求 企业信息管理
MIT 6.830数据库系统 -- lab six 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 ---- 引言 在本实验中,我们将要实现基于日志的中止回滚和崩溃恢复。源码中提供了定义日志格式的代码,并在事务期间的适当时间将记录附加到日志文件中。...要实现的是simpledb的日志系统,以支持回滚和崩溃恢复;在lab4事务中,我们并没有考虑事务执行过程中,如果机器故障或者停电了数据丢失的问题,bufferpool采用的是no-steal/force...redo log,在系统重启时候进行前滚(roll-forward)操作。...代码编写完成后我们需要通过LogTest系统测试的TestAbort和TestAbortCommitInterleaved子测试。
MIT 6.830数据库系统 -- lab four 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。...tid, boolean commit) { // some code goes here // not necessary for lab1|lab2...例如WAIT-DIE和WOUND-WAIT方案 练习5 在BufferPool.java中实现死锁的检测和预防,对于死锁处理系统,有许多设计方案,但不必做一些非常复杂的事。...,也就是说,如果数据库系统崩溃(在transactionComplete以外的点),或者如果用户显式中止事务,则在系统重启(或事务中止)后,任何正在运行的事务的效果都将不可见,可通过运行一些事务并显式中止数据库服务器来验证这一点
MIT 6.830数据库系统 -- lab two 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。 Lab Two lab2必须在lab1提交的代码基础上进行开发,否则无法完成相应的练习。此外,实验还提供了源码中不存在的额外测试文件。...} } 完成本节练习之后,需要通过PredicateTest, JoinPredicateTest, FilterTest, JoinTest单元测试;并通过FilterTest和JoinTest系统测试...children) { this.child = children[0]; } } 完成实验后需要通过InsertTest单元测试,并且通过InsertTest和DeleteTest系统测试...如果学过操作系统,那么应该了解过缓存页面丢弃策略,主要有先进先出(FIFO)、最近最少使用(LRU)和最不常用(LFU)这几种方法,我们可以选择不同的策略实现。
MIT 6.830 Lab One 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi/simple-db-hw...各个lab的实现,会放在lab/分支下。...One Lab对应的中文文档已上传至仓库,大家请自行查阅: 下面是SimpleDB实现的一个大致框架: 实现管理tuples的类Tuple、TupleDesc,项目中已经提供了Field、IntField...BufferPool的构造方法以及getPage()方法 实现HeapPage、HeapFile以及PageId类中的方法,这些文件中有很大一部分已经写好了 实现SeqScan方法 本次实验的目标是通过ScanTest系统测试...NoSuchElementException, TransactionAbortedException { iterator.rewind(); } } 此时,我们的代码应该通过ScanTest系统测试
MIT 6.830数据库系统 -- lab 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi...各个lab的实现,会放在lab/分支下。...本节理论基础可参考: CMU 15-445 – Query Optimization ---- 前言 我们应该在lab2的基础上进行开发,完成lab3的练习 下面是本实验的大纲: 实现TableStats...* * This class is not needed in implementing lab1 and lab2. */ public class TableStats {...下面给出数据库系统概念一书关于该部分的讲解 下面给出图解来描述整个推导过程: 代表一个JOIN关系,例如代表一个JoinNode,即我们需要找出t1和t2的最佳
餐饮在线点评系统除查看会员促销活动、查看站内消息等简单业务流程外,相对复杂的业务流程包括管理员注册餐厅,发布餐厅信息,餐厅信息主要包括特色菜、促销活动、团购活动和优惠券信息。...餐厅信息发布后,用户可以在会员门户查看餐厅的特色菜信息,并能对餐厅进行点评。 另外,针对餐厅管理员发布的团购活动,用户可以在会员门户进行团购下单操作。...管理员注册和发布餐厅信息 用户在线点评餐厅 用户参加团购活动 用户下载优惠券
MIT 6.S081 Lab Two -- 系统调用 引言 本文为 MIT 6.S081 2020 操作系统 实验二解析。...MIT 6.S081课程前置基础参考: 基于RISC-V搭建操作系统系列 system calls 在上一个实验中,您使用系统调用编写了一些实用程序。...如果在掩码中设置了系统调用的编号,则必须修改xv6内核,以便在每个系统调用即将返回时打印出一行。 该行应该包含进程id、系统调用的名称和返回值; 您不需要打印系统调用参数。...,例如: 如果要追踪read系统调用,由于read系统调用号为5,所以我们将二进制第五位设置为1,也就是32。...补齐内核库中trace系统调用函数的实现 系统调用追踪思路: trace_mask就是一个位图,每个进程执行系统调用时,再获取当前系统调用号,通过移位得到对应的位图,与自身的trace_mask
这是我自学 MIT6.S081 操作系统课程的 lab 代码笔记第九篇:File System。此 lab 大致耗时:4小时。...Lab 9: File Systems 为 xv6 的文件系统添加大文件以及符号链接支持。该 lab 难度较低。...Large files (moderate) 原理与分析 与 FAT 文件系统类似,xv6 文件系统中的每一个 inode 结构体中,采用了混合索引的方式记录数据的所在具体盘块号。...这里祭出上学校 OS 课的时候的笔记图: 本 lab 比较简单,主要前置是需要对文件系统的理解,确保充分理解 xv6 book 中的 file system 相关部分。...代码实现 首先实现 symlink 系统调用,用于创建符号链接。 符号链接与普通的文件一样,需要占用 inode 块。
领取专属 10元无门槛券
手把手带您无忧上云