thrift
文章平均质量分 86
zwxshine
这个作者很懒,什么都没留下…
展开
-
Apache Thrift 初学小讲(五)【代理】
WEB中我们很常见的一种部署方式是在几个tomcat前面加一个nginx做反向代理,此时的nginx有了负载均衡和路由网关的功能。nginx工作在http层,thirft服务工作在tcp层上,所以不能用nginx作为thirft服务的代理(据说nginx可以装一个插件来支持tcp层)。tcp层上的有一个开源的叫HAProxy,用成熟的开源软件有好处,受限制也比较大,本节是用3种方式实现thirft...原创 2017-04-10 01:33:11 · 357 阅读 · 0 评论 -
Apache Thrift 初学小讲(六)【spring】
这节把spring整合进Thrift,这次用maven来构建工程,maven的pom.xml加上依赖:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4....2017-04-28 17:14:29 · 201 阅读 · 0 评论 -
Apache Thrift 初学小讲(七)【负载均衡】
本节在《代理》和《连接池》的基础上加上负载均衡,主要的思路是在代理上加上集群服务的n个连接池,客户端连接到代理上,代理转发时根据负载均衡算法选择一个合适连接池中的连接: 一般的负载均衡算法有:1 [加权]轮询法([Weight] Round Robin),2 [加权]随机法([Weight] Random),3 源地址哈希法(Hash),4 [加权]最小连接数法(...2017-05-15 10:35:43 · 573 阅读 · 0 评论 -
Apache Thrift 初学小讲(二)【一个简单示例】
一 生成代码首先写一个接口定义文件ThriftTest.thrift,里面定义了一个User的struct和一个getUser接口,以java为例,cmd执行命令thrift --gen java ThriftTest.thrift,成功后会在ThriftTest.thrift文件所在的目录生成一个gen-java的文件夹,里面包含了生成的代码文件:gen-java\thrift\test...2016-12-23 14:42:38 · 346 阅读 · 0 评论 -
Apache Thrift 初学小讲(一)
一 简介: Apache Thrift最初由facebook开发,07年四月开放源码,08年5月进入apache孵化器,现在是 Apache 基金会的顶级项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性,所以thrift可以支持多种程序语言:C++, Java, Python, ...2016-12-23 14:56:14 · 270 阅读 · 0 评论 -
Apache Thrift 初学小讲(三)【http】
在上一节Apache Thrift 初学小讲(二)【一个简单示例】中client端提到http类型的transport,但是并没有给出相应的服务端实现。本节主要写一个transport为http的例子,以java为例,server端thrift提供了一个类TExtensibleServlet,只需要写一个servlet继承这个类,并实现以下抽象方法即可: protected TPr...2016-12-27 15:02:35 · 296 阅读 · 0 评论 -
Apache Thrift 初学小讲(四)【用Apache Commons Pool实现连接池】
Apache Thrift本身没有提供连接池,我们可以用Apache Commons Pool来实现一个,Apache commons-pool本质上是"对象池",即通过一定的规则来维护对象集合的容器;commos-pool在很多场景中,用来实现连接池/任务worker池等,大家常用的dbcp数据库连接池,也是基于commons-pool实现的。TCP连接池里的是Socket对象,那么对于th...2017-01-10 01:07:25 · 407 阅读 · 0 评论 -
Apache Thrift 初学小讲(八)【zookeeper实现服务注册与发现】
本节在《负载均衡》的基础上利用zookeeper实现服务注册与发现,ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 基本思路就是把服务注册到zookeeper上,代理连接到zookee...2017-05-31 00:15:02 · 652 阅读 · 0 评论 -
Apache Thrift 初学小讲(九)【测试接口的QPS】
QPS是接口每秒处理成功的调用次数,RT是处理一次请求所需要的平均时间,并发量是系统能同时处理的请求数。公式:并发量 = QPS * 平均响应时间。 这3个是比较重要的性能指标,如何测试这几个指标呢,可以用工具jmeter,jmeter原生支持http,但像thrift这种rpc接口就需要自己写jmeter的扩展了,可以参考https://www.jianshu.com/p/455e5...2018-07-10 01:07:44 · 1191 阅读 · 0 评论