美团大众点评服务框架Pigeon
服务框架Pigeon架构
• Pigeon提供jar包接入 ,线上运行在tomcat里
• Monitor-CAT ,负责调用链路分析、异常监控告警等
• 配置中心-Lion ,负责一些开关配置读取
• Governor-服务治理门户
• 一个interface定义为一个服务 ,每个服务有一个唯一标识
服务的注册与发现
• 注册信息包括service name、ip、port、group等
• 服务提供方初始化完成后自动注册 ,也可以通过api或管理端注册
• 服务调用方通过service name去发现服务
Registry (Zookeeper)
/DP/SERVER/com.dianping.iphub.IpService
10.66.1.1:5020,10.66.1.2:5020
服务的注销
• 服务地址通过zookeeper持久节点存储 ,避免临时节点的不稳定
• 关闭tomcat时会调用pigeon脚本去注册中心摘除本机服务地址
• 对于残留的无效地址 ,有独立的心跳服务会检测无效的服务地址进行zookeeper删除
• 客户端对于无效的服务地址 ,内部也有心跳检测机制等来保证
编程方式、序列化
• 基于Hessian序列化 ,通过netty实现自定义TCP协议格式 ,开发成本低 ,通过java interface定义服务接口
• 基于Thrift序列化 ,通过netty实现自定义TCP协议格式 ,性能更高 ,开发成本稍高 ,通过定义IDL或annotation方式定义服务接口 ,
更方便接入其他语言 ,thrift会有一些制如方法不支持重载、struct不支持继承等
调用模式
• Sync ,同步等待返回调用
• Future ,可实现并行发出多个请求 ,总耗时是最慢的请求的执行时长 ,推荐方式
• Callback ,发出结果不等待返回 ,结果回调 ,完全异步化
• Oneway ,无需返回结果
客户端心跳
• 心跳线程客户端发起 ,定期发送 ,服务端响应 ,连续5次不成功则在本地路由缓存里摘除该服务端节点 ,摘除后下次尝试重连
客户端负载均衡
• 多种负载均衡策略 ,默认是自适应策略 ,客户端会计算发往每个服务端节点的在途请求数 ,新的请求会优先选择在途请求数最小的节点发送
• 预热控制 ,针对服务端某个刚启动的节点 ,客户端按从慢到快的频率 ,将请求逐步发往这个节点 ,防止服务端刚启动的节点大量请求进来导致大量超时
• 也可自定义负载均衡策略
服务限流
• 可以在服务端对某一个服务接口的某一个方法 ,针对不同的调用方应用的请求进行流量QPS限制 ,超出阀值后调用端会收到服务拒绝异常 ,未来会在调用端进行限流
• 服务端会对任意接口的请求所占用的线程数进行控制 ,防止单个接口某个方法用尽线程池所有可用线程
服务隔离
• 服务端默认会监控每个接口的超时情况 ,超时多的接口请求会自动路由到独立的慢线程池处理 ,如果该接口恢复正常 ,则会回到正常共享线程池处理
• 也可以为某些接口方法配置独立的线程池 ,剩余的使用公共池
服务监控分析与告警
• 通过监控系统CAT (已开源 )分析调用链路 ,包括调用量、TP耗时、异常、请求及响应大小、区间耗时明细、QPS等
项目地址:https://github.com/dianping/pigeon
采用的监控系统:Central Application Tracking
项目地址:https://github.com/dianping/cat
监控系统环境搭建:http://www.cnblogs.com/softidea/p/5719331.html
转载于:https://www.cnblogs.com/jefferycao/p/6255105.html
美团大众点评服务框架Pigeon相关推荐
- java服务端限流框架,美团大众点评服务框架Pigeon
服务框架Pigeon架构 ? Pigeon提供jar包接入 ,线上运行在tomcat里 ? Monitor-CAT ,负责调用链路分析.异常监控告警等 ? 配置中心-Lion ,负责一些开关配置读取 ...
- 二、美团大众点评CAT监控系列文章---CAT监控的服务端配置
文章目录 一.服务端下载和配置 二.相关的参考文档 三. 系列文章 一.服务端下载和配置 运行环境及开发工具如下: Jdk8 ,tomcat8,windows10,itellij idea,maven ...
- 王兴的“下半场”与美团-大众点评的另一种可能
O2O市场,棋至中局,业内企业有的式微沉沦,有的关停售卖,也有巨头合并抑或战略结盟.抱团取火,旨在冲出重围,僵局之下,不破不立. 于王兴与他的美团-大众点评而言,也是如此,不破不立.经历了3个季度,美 ...
- 基于oracle的餐馆评价系统,美团大众点评优化评价系统 助力餐饮商家做好口碑营销...
原标题:美团大众点评优化评价系统 助力餐饮商家做好口碑营销 近年来,伴随着"互联网+餐饮"的高歌猛进,评价系统对于消费决策的影响力用越来越凸显. (浏览评价页的用户比浏览poi详情 ...
- 美团大众点评 Hybrid 化建设
上周末,精神哥去参加了好友小青在北京办的T沙龙,探讨移动端热更新相关的话题.Bugly曾为大家介绍过不少腾讯内部的热更新的框架,正好这次看到了美团,去哪儿以及微博同学在应用热更新方面的实践,整理出来发 ...
- 三、美团大众点评CAT监控系列文章---Springboot集成CAT并实现邮件告警
文章目录 一.配置过程 二.相关的参考文档 三.系列文章 一.配置过程 登录自己的cat服务端 默认登录用户名和密码都是 catadmin添加一个监控规则: 如下面的监控规则就是说,如果在一分钟以内访 ...
- 美团大众点评网:大数据勾勒“大钱景”
近日,美团外卖APP通过大数据分析国内不同城市用户的外卖消费习惯,对外公布了各大城市的外卖消费特点.根据美团外卖对"各品类外卖订单量最高的城市"统计发现,除了订餐外,北京市鲜花蛋糕 ...
- 美团大众点评合并:背后技术力量的对比回顾
美团网和大众点评网在10月8日中午联合发布声明,宣布达成战略合作,两者将共同成立一家新公司.两者也在InfoQ及其组织的大会上进行过多次分享,我们将对美团和大众点评使用的技术进行回顾,来看看这两家电商 ...
- android 粗暴简单仿美团/大众点评搜索方式,详细标注
转载请注明出处王亟亟的大牛之路 美团和大众点评的搜索和筛选栏,不能说好看(审美flag),但是满足了我们的搜索还筛选的需求,所以今天就实现了下这样的一个小Demo 项目结构:运行效果就是下图了,就不再 ...
最新文章
- 解决mantis不能上传附件问题
- h5如何动态获取键盘高度_动态获取键盘高度
- mysql test 映射到实体_将MySql视图映射到JPA Entitites,使用哪个唯一...
- VisualStudio代码样式-我最喜欢的一种风格
- 娱乐的NBA全明星,成熟的科比,回归的切尔西
- 【Spring-AOP】自动代理类AnnotationAwareAspectJAutoProxyCreator
- 网络管理与维护(5.2)RMON MIB
- 读《春秋》有感之十六:楚共王选谥号
- android 本地图片模糊,Android端图片模糊的实现原理及方案
- android核心版本特性(官网)
- 在Android手机或平板电脑上启用开发者模式选项
- mysql条件增量同步命令_DataX3 Mysql增量同步ES
- STC用PCA测量脉宽_超快激光脉冲测量和诊断使用自相关仪
- H3C交换机查询光功率
- 服饰美妆新品 | 阿迪达斯可循环跑鞋第三代LOOP系列发布;赫丽尔斯X吃豆人跨界限定系列推出...
- 人形机器人——打篮球
- Coin Changing
- Verilog中generate语法和作用
- 银纳米团簇-荧光Ag25团簇以及衍生团簇(直径1-2nm)
- Chrome+ProxySwitchySharp+Putty