• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

forest-thrift: thrift pool client & thrift server

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

forest-thrift

开源软件地址:

https://gitee.com/dempe/forest-thrift

开源软件介绍:

#forest-thriftthrift服务的简单的封装

##thrift-client

池化的高可用thrift客户端

future

  • 支持连接池
  • 支持thrift描述文件的ping校验
  • 支持负载均衡策略
  • 支持容灾策略
  • 支持自动熔断策略
  • 支持基于zk的服务发现

quick start

maven依赖

<dependency>    <groupId>com.zhizus</groupId>    <artifactId>thrift-client</artifactId>    <version>0.0.1</version></dependency>

Alt text

使用示例:

// 连接池配置,    GenericKeyedObjectPoolConfig poolConfig = new GenericKeyedObjectPoolConfig();    // 校验接口,连接池的validateObject方法会调用到这里的ping方法    // 这里主要用于对thrift描述文件层面的心跳校验支持    PingValidate pingValidate = new PingValidate() {        @Override        public boolean ping(ServerInfo key, TTransport transport) {            return true;        }    };    // 客户端熔断策略,默认1min中10次异常则自动熔断,恢复时间也为1min中    IsolationStrategy<ServerInfo> infoIsolationStrategy = new IsolationStrategy<>();    DefaultThriftClient thriftClient = new DefaultThriftClient(LoadBalanceType.RANDOM, HAStrategyType.FAILED_FAST,            new ConfRegistry("localhost:9999"), poolConfig, pingValidate, infoIsolationStrategy);    //每次使用client请调用iface接口,这里通过代理模式包装了异常统计和回池操作,一个 iface生成的代理对象调用多次会出现问题    //  thriftClient.iface(YourThrift.class);

thrift-server

更多示例

user guide

1.根据thrift的描述文件生成thrift静态代码

thrift-0.6.1.exe -r -gen java sample.thrift

2.继承AbstractThriftServer,实现getProcessor()方法:

  @Override    protected TProcessor getProcessor() {        return new Sample.Processor(new Sample.Iface() {            @Override            public String hello(String para) throws TException {                return "hello " + para;            }            @Override            public boolean ping() throws TException {                return true;            }        });    }

调用start()方法,启动server

3.基于DefaultThriftClient构造client,并且调用iface方法生成对应的代理对象。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap