标签:监控 客户 业务 other 客户端 平台 类图 one call
Pegasus来源于点评的开源框架pigeon:https://github.com/dianping/pigeon
Pegasus是一个高性能的分布式服务框架,致力于提供RPC远程服务调用方案,并可作为精简版SOA服务治理的方案。实现基本的RPC,路由,负载均衡,容错,统计报表,服务注册订阅功能。
其核心模块包括以下几类:
随着应用规模的不断扩大,传统的垂直应用架构及应用堆砌已无法满足,急需一套分布式服务架构以及配套的服务治理框架,以便推动整体业务架构的演进。
技术架构的演进之路简述:单一应用优化 => 垂直拆分 => 分布式架构 => 分布式服务治理 => 云服务架构
构建一个稳定,高效,容错,易维护,可监控的服务调用框架,以便推动公司业务系统朝着SOA架构演进,从而使整体业务架构更加清晰,可控和可度量,最终实现业务产品的健康,敏捷发展。
单一应用优化:应用作为单一包部署,以部署多台机器和数据库表结构及sql为优化手段。
垂直拆分:单一应用按照业务模块拆分为多个独立的应用,分散流量并各自根据流量进行横向扩展,此时数据库可能也已按照业务拆分开,减小单库的压力。
分布式架构:应用之间存在复杂频繁交互,此时应抽取核心业务形成业务中心,为其他应用提供服务,具体业务应用应尽量薄,以便能够快速响应业务需求变更。
分布式服务治理:业务交互越来越复杂,人为掌控已越来越难,此时应该有治理系统专门负责,包括分析业务依赖,监控业务性能,优雅升降级,容量规划等,以监控和提升服务质量,支撑决策分析。
云服务架构:业务脉络继续无限增长,一套敏捷和高质的完整支撑框架变得越来越重要,缩短开发上线的生命周期,降低试错成本(快速试错),资源优化调配,灰度发布等等,都需要一套自动化的,全局的资源调配架构。包括iaas,paas及一整套配套的工具和系统支持,如iaas的管理工具接口,paas的配置中心,自动化发布流程及工具,自动化QA系统等等。相当复杂(公有云更甚),需要投入很大的人力与物力,但若成功构建,效果明显。
Pegasus可以应用于内部所有Java系统之间的远程服务调用(或其他语言系统对Java系统的调用),它所提供的高性能﹑智能负载路由﹑容错﹑集群等特性,为打造快速﹑稳定﹑可靠的服务提供了技术保障,也为推进SOA化提供了基础平台支持。
Pegasus采用NIO方式传输二进制流数据,并采用长连接方式减少握手,比一般的http短连接协议(如soap)更快,从而提高业务吞吐量。另外通过智能的全局负载均衡策略,能够更加合理的调配资源,从而提高整体性能。
标签:监控 客户 业务 other 客户端 平台 类图 one call
原文地址:https://www.cnblogs.com/fxl-njfu/p/10120332.html