ars是将腾讯内部使用的微服务架构taf(totalapplicationframework)多年的实践成果总结而成的开源项目,目前已于4月10日正式对外开源。
作为支持多语言的高性能rpc开发框架和配套一体化的服务治理平台,tars可以帮助企业或者用户以微服务的方式快速构建稳定可靠的分布式应用,它的设计灵感来源于采取分层思想,实现开发与运营之间的分离。目前该框架在腾讯内部,已经在160多个业务(如手机浏览器、应用宝、手机管家、手机qq、手机游戏等)、1.6多万台服务器上运行使用,基于该框架部署运行的服务节点规模达到上万个,经过了海量用户及数据量的考验。
与业界其他同类或相识的应用框架相比,tars具有以下优势:
一是tars提供了支持多语言(c++/java)的高性能(性能可达40w/s)rpc开发框架,比如业界开源的dubbo只支持java,业界开源的thrift、grpc性能没有tars好;
二是tars具有针对服务进行治理的运营管理平台,比如名字路由与发现、部署/发布/扩缩容、立体化监控、日志管理、配置管理等,让系统的运行状态一切尽在掌握,而业界的thrift、grpc只是rpc通信框架,业务在它们之上仍要做很多开发;
三是tars经过多年在腾讯不同业务上的实践和发展,其成熟度和稳定性更好。
tars的名字来自星际穿越电影人机器人tars,电影中的tars有着非常友好的交互方式,任何初次接触它的人都可以轻松的和它进行交流,同时能在外太空、外星等复杂地形上,超预期的高效率的完成托付的所有任务。拥有着类似设计理念的tars也是一个兼顾易用性、高性能、服务治理的框架,目的是让开发更简单,聚焦业务逻辑,让运营更高效,一切尽在掌握。
历经近十年探索,tars终于正式开源,它更适合消息调用客户端和服务端比较明确的业务场景。