harpc 介绍
基于Thrift的跨语言、高可用、高性能、轻量级的RPC框架。
功能介绍
-
跨语言通信
- 方便的使Java、Python、C++三种程序可以相互通信
-
负载均衡和容灾处理
-
方便的实现任务的分布式处理
-
支持服务的水平扩展,自动发现新的服务节点
-
能够兼容各种异常情况,如节点的异常down机
-
-
可视化管理
- 通过服务管理系统可以方便查看服务状态和统计信息
-
与原生thrift通信
- 支持与原生thrift服务进行通信
与业内方案的对比
-
与thrift、avro、hessian相比,harpc支持了高可用,并且更加易用
-
与dubbo相比,harpc支持了跨语言,并且更轻量级
-
与ice相比,harpc性能更高,并且更轻量级
设计思路
HARPC的核心思想是高可用,那么在保证高可用的基础上,还需要具备跨语言、高性能、可视化及轻量级等特性。于是,我们在设计之初就选择了基于
thrift开发的方案,底层通信使用thrift来保证高性能和跨语言,然后HARPC来保证高可用和可视化,并且尽量保持简单,来达到轻量级的需求。
- 整体结构
* 说明 * 四个部分:client(客户端)、server(服务端)、registry(注册中心,目前为zookeeper集群)、admin(服务管理系统) * client和server又包括: your code(用户代码)、harpc(核心框架,包含Java、Python、C++三个版本)、thrift gen(thrift生成的源码文件,用于底层通信)
harpc 官网
https://github.com/baifendian/harpc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。