Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

rpcx implementation in Java for server side and client side

License

NotificationsYou must be signed in to change notification settings

smallnest/rpcx-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unmaintained: 目前没有资源维护这个项目。欢迎有时间的开发者接手。

example

assume you have started a Go rpcx server:

package mainimport ("context""flag""github.com/smallnest/rpcx/server")var (addr=flag.String("addr","192.168.31.82:8997","server address"))typeEchointfunc (t*Echo)Echo(ctx context.Context,args []byte,reply*[]byte)error {*reply= []byte("hello"+string(args))returnnil}funcmain() {flag.Parse()s:=server.NewServer()s.RegisterName("echo",new(Echo),"")s.Serve("tcp",*addr)}

You can run it as:

go run main.go

Then you can write the java client:

@TestpublicvoidtestSendMsg()throwsException {Messagereq =newMessage("Echo","Echo");req.setVersion((byte)0);req.setMessageType(MessageType.Request);req.setHeartbeat(false);req.setOneway(false);req.setCompressType(CompressType.None);req.setSerializeType(SerializeType.SerializeNone);req.setSeq(123);req.metadata.put("test","1234");req.payload ="world".getBytes("UTF-8");NettyClientclient =newNettyClient(null);Messageres =client.call("192.168.31.82:8997",req);System.out.println(newString(res.payload));        }

借鉴项目

  • dubbo
  • rocketmq

feature

  • 支持和spring-boot的集成
  • 支持服务发现和注册
  • 支持扩展(client 和 server都可扩展)
  • 支持多语言调用
  • 支持qps限流
  • 支持accesslog记录
  • 支持泛化调用
  • 支持同步 异步 oneway调用
  • 支持token调用
  • 支持client端重试
  • 支持调用数据采集
  • 支持结果缓存
  • 支持热更新
  • 支持http gateway访问模式
  • 调用失败支持(FailFast Failover Failtry)
  • 支持select模式(RandomSelect RoundRobin WeightedRoundRobin SelectByUser)
  • 支持优雅关机
  • 支持服务治理(通过rpcx-ui)
  • 支持服务分组

About

rpcx implementation in Java for server side and client side

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp