[{"title":"( 99 个子文件 183KB ) koalas-rpc:企业生产级百亿日PV高可用可拓展的RPC框架。理论上并发数量接近服务器带宽,客户端采用thrift协议,服务端支持netty和thrift的TThreadedSelectorServer半同步半异步线程模型,支持动态扩容,服务上下线,权重动态,可用性配置,泛化调用,页面流量统计,泛化调用等,支持trace跟踪等,天然接入cat支持数据大盘展示等,持续为个人以及中小型公司提供可靠的RPC框架技术方案-源码","children":[{"title":"koalas-rpc-master","children":[{"title":".gitignore <span style='color:#111;'> 593B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"META-INF","children":[{"title":"spring.handlers <span style='color:#111;'> 57B </span>","children":null,"spread":false},{"title":"spring.schemas <span style='color:#111;'> 61B </span>","children":null,"spread":false},{"title":"koalas-rpc.xsd <span style='color:#111;'> 5.25KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"client","children":[{"title":"proxyfactory","children":[{"title":"KoalasClientProxy.java <span style='color:#111;'> 23.55KB </span>","children":null,"spread":false}],"spread":true},{"title":"cluster","children":[{"title":"Icluster.java <span style='color:#111;'> 380B </span>","children":null,"spread":false},{"title":"impl","children":[{"title":"DirectClisterImpl.java <span style='color:#111;'> 4.51KB </span>","children":null,"spread":false},{"title":"AbstractBaseIcluster.java <span style='color:#111;'> 2.67KB </span>","children":null,"spread":false},{"title":"RandomLoadBalancer.java <span style='color:#111;'> 1.11KB </span>","children":null,"spread":false},{"title":"AbstractLoadBalancer.java <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"ZookeeperClusterImpl.java <span style='color:#111;'> 4.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"ILoadBalancer.java <span style='color:#111;'> 244B </span>","children":null,"spread":false},{"title":"ServerObject.java <span style='color:#111;'> 812B </span>","children":null,"spread":false},{"title":"RemoteServer.java <span style='color:#111;'> 2.04KB </span>","children":null,"spread":false}],"spread":true},{"title":"invoker","children":[{"title":"LocalMockInterceptor.java <span style='color:#111;'> 820B </span>","children":null,"spread":false},{"title":"KoalasMethodInterceptor.java <span style='color:#111;'> 19.26KB </span>","children":null,"spread":false}],"spread":true},{"title":"async","children":[{"title":"ReleaseResourcesKoalasAsyncCallBack.java <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false},{"title":"KoalasAsyncCallBack.java <span style='color:#111;'> 3.12KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"server","children":[{"title":"domain","children":[{"title":"ErrorType.java <span style='color:#111;'> 181B </span>","children":null,"spread":false}],"spread":true},{"title":"KoalasServerPublisher.java <span style='color:#111;'> 2.07KB </span>","children":null,"spread":false},{"title":"KoalasDefaultThreadFactory.java <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false},{"title":"config","children":[{"title":"AbstractKoalsServerPublisher.java <span style='color:#111;'> 7.39KB </span>","children":null,"spread":false},{"title":"ZookServerConfig.java <span style='color:#111;'> 2.39KB </span>","children":null,"spread":false}],"spread":true},{"title":"IkoalasServer.java <span style='color:#111;'> 195B </span>","children":null,"spread":false}],"spread":true},{"title":"transport","children":[{"title":"TKoalasFramedTransport.java <span style='color:#111;'> 11.03KB </span>","children":null,"spread":false}],"spread":true},{"title":"exceptions","children":[{"title":"RSAException.java <span style='color:#111;'> 481B </span>","children":null,"spread":false},{"title":"OutMaxLengthException.java <span style='color:#111;'> 526B </span>","children":null,"spread":false}],"spread":true},{"title":"utils","children":[{"title":"KoalasThreadedSelectorWorkerExcutorUtil.java <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"KoalasRsaUtil.java <span style='color:#111;'> 11.43KB </span>","children":null,"spread":false},{"title":"KoalasAopUtil.java <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false},{"title":"KoalasExceptionUtil.java <span style='color:#111;'> 506B </span>","children":null,"spread":false},{"title":"IPUtil.java <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false},{"title":"TraceThreadContext.java <span style='color:#111;'> 544B </span>","children":null,"spread":false},{"title":"KoalasRegexUtil.java <span style='color:#111;'> 312B </span>","children":null,"spread":false}],"spread":true},{"title":"parser","children":[{"title":"KoalasBeanDefinitionParser.java <span style='color:#111;'> 15.21KB </span>","children":null,"spread":false},{"title":"KoalasBeanHandler.java <span style='color:#111;'> 877B </span>","children":null,"spread":false},{"title":"KoalasAnnotationBean.java <span style='color:#111;'> 16.04KB </span>","children":null,"spread":false}],"spread":true},{"title":"poolfactory","children":[{"title":"KoalasPoolableObjectFactory.java <span style='color:#111;'> 6.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"thrift","children":[{"title":"ThriftServer.java <span style='color:#111;'> 6.09KB </span>","children":null,"spread":false},{"title":"Invocation.java <span style='color:#111;'> 414B </span>","children":null,"spread":false},{"title":"KoalasThreadedSelectorServer.java <span style='color:#111;'> 14.55KB </span>","children":null,"spread":false},{"title":"KoalasAbstractNonblockingServer.java <span style='color:#111;'> 32.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"generic","children":[{"title":"GenericService.java <span style='color:#111;'> 28.63KB </span>","children":null,"spread":false},{"title":"GenericRequest.java <span style='color:#111;'> 21.42KB </span>","children":null,"spread":false},{"title":"GenericServiceImpl.java <span style='color:#111;'> 5.43KB </span>","children":null,"spread":false}],"spread":false},{"title":"netty","children":[{"title":"initializer","children":[{"title":"NettyServerInitiator.java <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false}],"spread":false},{"title":"hanlder","children":[{"title":"KoalasHandler.java <span style='color:#111;'> 21.53KB </span>","children":null,"spread":false},{"title":"KoalasDecoder.java <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false},{"title":"KoalasEncoder.java <span style='color:#111;'> 565B </span>","children":null,"spread":false}],"spread":false},{"title":"NettyServer.java <span style='color:#111;'> 5.58KB </span>","children":null,"spread":false}],"spread":false},{"title":"heartbeat","children":[{"title":"impl","children":[{"title":"HeartbeatServiceImpl.java <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false}],"spread":false},{"title":"service","children":[{"title":"HeartbeatService.java <span style='color:#111;'> 30.09KB </span>","children":null,"spread":false}],"spread":false},{"title":"request","children":[{"title":"HeartBeat.java <span style='color:#111;'> 16.76KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"annotation","children":[{"title":"KoalasClient.java <span style='color:#111;'> 1.71KB </span>","children":null,"spread":false},{"title":"KoalasServer.java <span style='color:#111;'> 721B </span>","children":null,"spread":false}],"spread":false},{"title":"protocol","children":[{"title":"KoalasBinaryProtocol.java <span style='color:#111;'> 15.97KB </span>","children":null,"spread":false},{"title":"KoalasTrace.java <span style='color:#111;'> 17.08KB </span>","children":null,"spread":false}],"spread":false},{"title":"register","children":[{"title":"ZookeeperClient.java <span style='color:#111;'> 19.63KB </span>","children":null,"spread":false},{"title":"ZookeeperServer.java <span style='color:#111;'> 5.75KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true},{"title":"test","children":[{"title":"resources","children":[{"title":"META-INF","children":[{"title":"app.properties <span style='color:#111;'> 21B </span>","children":null,"spread":false}],"spread":true},{"title":"xml","children":[{"title":"client","children":[{"title":"koalas-client.xml <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"koalas-api.xml <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"server","children":[{"title":"koalas-server-thrift.xml <span style='color:#111;'> 2.81KB </span>","children":null,"spread":false},{"title":"koalas-server-netty.xml <span style='color:#111;'> 2.20KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"log4j.properties <span style='color:#111;'> 1.10KB </span>","children":null,"spread":false},{"title":"annotation","children":[{"title":"client","children":[{"title":"koalas-client.xml <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false},{"title":"koalas-api.xml <span style='color:#111;'> 559B </span>","children":null,"spread":false}],"spread":true},{"title":"server","children":[{"title":"koalas-server.xml <span style='color:#111;'> 1004B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"xml","children":[{"title":"client","children":[{"title":"ClientRunAsync.java <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"ThriftNative.java <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"ClientRunSync.java <span style='color:#111;'> 2.97KB </span>","children":null,"spread":false},{"title":"ThriftNativeServer.java <span style='color:#111;'> 1.19KB </span>","children":null,"spread":false},{"title":"GenericApi.java <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"ThriftNativeClient.java <span style='color:#111;'> 4.01KB </span>","children":null,"spread":false}],"spread":true},{"title":"server","children":[{"title":"ServerRunThrift.java <span style='color:#111;'> 482B </span>","children":null,"spread":false},{"title":"ServerRunNetty.java <span style='color:#111;'> 481B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"thrift","children":[{"title":"domain","children":[{"title":"WmCreateAccountRespone.java <span style='color:#111;'> 14.41KB </span>","children":null,"spread":false},{"title":"KoalasRpcException1.java <span style='color:#111;'> 14.94KB </span>","children":null,"spread":false},{"title":"KoalasRpcException2.java <span style='color:#111;'> 14.94KB </span>","children":null,"spread":false},{"title":"KoalasRpcException.java <span style='color:#111;'> 14.90KB </span>","children":null,"spread":false},{"title":"WmCreateAccountRequest.java <span style='color:#111;'> 27.36KB </span>","children":null,"spread":false}],"spread":true},{"title":"xml","children":[{"title":"client","children":[{"title":"impl","children":[{"title":"TestServiceAsync.java <span style='color:#111;'> 8.32KB </span>","children":null,"spread":false},{"title":"TestServiceSync.java <span style='color:#111;'> 5.36KB </span>","children":null,"spread":false},{"title":"KoalasAop.java <span style='color:#111;'> 619B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"server","children":[{"title":"impl","children":[{"title":"WmCreateAccountServiceImpl.java <span style='color:#111;'> 6.27KB </span>","children":null,"spread":false},{"title":"KoalasAop.java <span style='color:#111;'> 592B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"service","children":[{"title":"WmCreateAccountService.java <span style='color:#111;'> 374.55KB </span>","children":null,"spread":false}],"spread":true},{"title":"annotation","children":[{"title":"client","children":[{"title":"impl","children":[{"title":"TestServiceAsync.java <span style='color:#111;'> 2.62KB </span>","children":null,"spread":false},{"title":"TestServiceSync.java <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"KoalasAop.java <span style='color:#111;'> 546B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"server","children":[{"title":"impl","children":[{"title":"WmCreateAccountServiceNettyImpl.java <span style='color:#111;'> 7.33KB </span>","children":null,"spread":false},{"title":"WmCreateAccountServiceThriftImpl.java <span style='color:#111;'> 7.24KB </span>","children":null,"spread":false},{"title":"KoalasAop.java <span style='color:#111;'> 755B </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true},{"title":"annotation","children":[{"title":"client","children":[{"title":"ClientRunAsync.java <span style='color:#111;'> 1.05KB </span>","children":null,"spread":false},{"title":"ClientRunSync.java <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false}],"spread":true},{"title":"server","children":[{"title":"ServerRun.java <span style='color:#111;'> 483B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 11.09KB </span>","children":null,"spread":false},{"title":"pom.xml <span style='color:#111;'> 10.50KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 40.05KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]