All Projects → houkx → Nettythrift

houkx / Nettythrift

Licence: apache-2.0
Thrift on Netty, support TCP/HTTP/WebSocket at same port. support multiple Protocols at same time. multil Simple Clients with Connection Pool.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Nettythrift

Dapeng Soa
A lightweight, high performance micro-service framework
Stars: ✭ 101 (+68.33%)
Mutual labels:  rpc, thrift, netty
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+5553.33%)
Mutual labels:  rpc, thrift, netty
Yarpc Go
A message passing platform for Go
Stars: ✭ 285 (+375%)
Mutual labels:  rpc, thrift
Socket Mqtt
基于Netty+MQTT的高性能推送服务框架。支持普通Socket、MQTT、MQTT web socket协议。非常方便接入上层业务实现推送业务。
Stars: ✭ 314 (+423.33%)
Mutual labels:  rpc, netty
Xxl Rpc
A high performance, distributed RPC framework.(分布式服务框架XXL-RPC)
Stars: ✭ 493 (+721.67%)
Mutual labels:  rpc, netty
Finagle
A fault tolerant, protocol-agnostic RPC system
Stars: ✭ 8,126 (+13443.33%)
Mutual labels:  rpc, thrift
srpc
一款轻量 高性能的RPC框架,基于netty,整合spring,支持注册中心,多种序列化,负载均衡等
Stars: ✭ 78 (+30%)
Mutual labels:  netty, rpc
Javaspringbootsamples
SpringBoot、Dubbo、SpringCloud的各种集成例子:Atomikos、gRPC、Thrift、Seata、ShardingSphere、Dubbo、Hmily、Nacos、Consul、Ribbon、Jedis、Lettuce、Redisson等框架
Stars: ✭ 399 (+565%)
Mutual labels:  rpc, thrift
netty-learning
bio, nio到 netty各种使用案例, 包含基础使用案例,各api使用方法,零拷贝,websocket,群聊,私聊,编码,解码,自定义协议,protobuf等使用案例,rpc服务器,客户端等等学习
Stars: ✭ 49 (-18.33%)
Mutual labels:  netty, rpc
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+978.33%)
Mutual labels:  rpc, netty
Getty
a netty like asynchronous network I/O library based on tcp/udp/websocket; a bidirectional RPC framework based on JSON/Protobuf; a microservice framework based on zookeeper/etcd
Stars: ✭ 532 (+786.67%)
Mutual labels:  rpc, netty
Servicetalk
A networking framework that evolves with your application
Stars: ✭ 656 (+993.33%)
Mutual labels:  rpc, netty
spring-boot-protocol
springboot功能扩充-netty动态协议,可以支持各种网络协议的动态切换(单端口支持多个网络协议).支持mmap,sendfile零拷贝,http请求批量聚合
Stars: ✭ 68 (+13.33%)
Mutual labels:  netty, rpc
simple-rpc-plus
使用netty和zookeeper技术实现的远程调用框架
Stars: ✭ 16 (-73.33%)
Mutual labels:  netty, rpc
Pudding
Pudding 是一款迷你级分布式服务框架
Stars: ✭ 24 (-60%)
Mutual labels:  netty, rpc
Thriftpy2
Pure python approach of Apache Thrift.
Stars: ✭ 402 (+570%)
Mutual labels:  rpc, thrift
Takinrpc
RPC框架,基于netty,实现了远程调用、服务治理等功能
Stars: ✭ 13 (-78.33%)
Mutual labels:  rpc, netty
litchi
这是一款分布式的java游戏服务器框架
Stars: ✭ 97 (+61.67%)
Mutual labels:  netty, rpc
rpc
自己编写的rpc调用框架,配置简单,使用更简单,如果您感觉有用请点赞,纯个人手写
Stars: ✭ 29 (-51.67%)
Mutual labels:  netty, rpc
Srpc
RPC based on C++ Workflow
Stars: ✭ 521 (+768.33%)
Mutual labels:  rpc, thrift

nettythrift

en: A Java Server IO framework use netty and thrift. You could send thrift json protol Http-GET request with Broswer line google Chrome, or send compactProtocol thrift data with thrift client.

zh-CN: 一个 netty 服务端框架, 基于 thrift协议. 你可以通过chrome浏览器发送thrift json 协议的Http-GET 请求, 同时也可以使用thrift原生的的客户端发送压缩协议的数据.

项目经过了线上高并发的考验.

Server Example

 public void startServer() {
  // different from nify, This Server:
  // support TCP/HTTP/WebSocket At Same time.
  // support sync/async (notFrame or Frame) At Same time.
  // support TBinaryProtocol/TCompactProtocol/TJSONProtocol/TSimpleJSONProtocol At Same time.
  
  int port = 8081; // The port to bind.
  ExecutorService threadPoolExecutor = ... // business Executor
  
  // Create the handler, the interface impl
  MyService.Iface serviceInterface = new MyServiceHandler();

  //en: Create the processor, you no need give a TProtocolFactory here,the protocol is dynamic, same as the client.
  //zh-CN: 创建处理器, 你不需要指定一个TProtocolFactory, 协议是动态适应客户端的协议.
  // you could sen
  TBaseProcessor processor = new MyService.Processor<>(serviceInterface);

  ThriftServerDef serverDef = ThriftServerDef.newBuilder().listen(port)//
			.withProcessor(processor)//
			.using(threadPoolExecutor)//
			.clientIdleTimeout(TimeUnit.SECONDS.toMillis(60))//
			.build();
   ServerBootstrap server = new ServerBootstrap(serverDef);
   server.start();// Start Server
}

The Client

zh-CN: 你可以使用thrift原生客户端, 也可以使用这里的 client.* 项目,客户端项目主要适用于像app端这种追求依赖库尽可能小的场景.

en: you can use the orig thrift client, or this client.* project, the clients is used in android App Client Example: see the TestCase in project: io.nettythrift or the project client.* ;

the project "client.json" is A Client use Http and TSimpleJSONProtocol.

there is a also a Simple Connection Pool in project: client.framedCommpact

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].