- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.美团大众点评微服务实践
美团大众点评微服务实践
-服务框架Pigeon的设计与实现
吴湘@美团大众点评 ,基础架构中心
大纲
• 服务框架Pigeon的设计与实现
• 服务治理
• 微服务的一些实践经验
服务框架Pigeon架构
• Pigeon提供j ar包接入 ,线上运行在tomcat里
• Monitor-CAT ,负责调用链路分析、异常监控告警等
• 配置中心-Lion ,负责一些开关配置读取
• Governor-服务治理门户
• 一个interface定义为一个服务 ,每个服务有一个唯一标识
Registry Pigeon Governor
(zookeeper)
Service Service
(Invoker) (Provider)
Config Server (Lion) Monitor (CAT )
主要模块
服务治理门户
服务搜索 服务自助注册 服务治理分析
服务流控 服务降级 服务测试
运营报表 接口文档中心
客户端
服务发现 服务调用 服务隔离
服务注册注销 监控分析 服务限流
服务心跳/重连 服务单机测试 服务降级
负载均衡 序列化 服务容错
服务的注册与发现
• 注册信息包括service name、ip、port、group等
• 服务提供方初始化完成后 自动注册 ,也可以通过api或管理端注
册
• 服务调用方通过service name去发现服务
Registry (Zookeeper)
/DP/SERVER/com.dianping.iphub.IpService
:5020,:5020
服务的注销
• 服务地址通过zookeeper持久节点存储 ,避免临时节点的不稳定
• 关闭tomcat时会调用pigeon脚本去注册中心摘除本机服务地址
• 对于残留的无效地址 ,有独立的心跳服务会检测无效的服务地址
进行zookeeper删除
• 客户端对于无效的服务地址 ,内部也有心跳检测机制等来保证
Registry (Zookeeper) unregister Heartbeat Service
register/unregister heartbeat
Invoker heartbeat Provider
编程方式、序列化
• 基于Hessian序列化 ,通过netty实现 自定义TCP协议格式 ,开发
成本低 ,通过j ava interface定义服务接口
• 基于Thrift序列化 ,通过netty实现 自定义TCP协议格式 ,性能更
高 ,开发成本稍高 ,通过定义IDL或annotation方式定义服务接
口 ,更方便接入其他语言 ,thrift会有一些限制如方法不支持重
载、struct不支持继承等
调用模式
• Sync ,同步等待返回调用
• Future ,可实现并行发出多个请求 ,总耗时是最慢的请求的执行
时长 ,推荐方式
• Callback ,发出结果不等待返回 ,结果回调 ,完
原创力文档


文档评论(0)