# ellierpc **Repository Path**: simpleplus/ellierpc ## Basic Information - **Project Name**: ellierpc - **Description**: No description available - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2017-06-14 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #ellierpc java8+ protostuff + netty4 完成的rpc ###测试结果 ``` SampleProducer.main(SampleProducer.java:38) - sync invoke 10000 cost time 2291 mills SampleProducer.main(SampleProducer.java:55) - async invoke 10000 cost time 1373 mills SampleClusterProducer.main(SampleClusterProducer.java:79) - async invoke 10000 cost time 12265 mills ``` ###瓶颈 1.网络的延迟 服务器和客户机 是在一台机器上 延迟低 2.业务代码的时间复杂度 这里测试很简单 只是自增长 3.业务的数量 ###异步和同步的比较 异步调用比同步调用快了接近一倍 ###现在实现的功能 ``` version:0.0.1-SNAPSHOT ``` 1.正常的rpc调用,指定固定i主机p和端口 优化的方向是 利用zookeeper 动态注册和动态发现以及链路断开自动重连 ###项目分析 ####ellie 这个名字取自 the last of us (美国末日)游戏的萝莉 。 ####ellierpc 是父目录 ####ellieapi 是api的目录 ####ellieconsumer 是消费者的目录 ####ellieproducer 是生产者的目录 ####sampleapi 是示例api的目录 ####sampleconsumer 是示例消费者的目录 ####sampleproducer 是示例生产者的目录 ###使用方法 需要使用java8 + maven 3.2.5以上 ``` git clone https://git.oschina.net/simpleplus/ellierpc.git cd ellierpc mvn -U clean -Dmaven.skipTests=true package install mvn -f ellieapi/pom.xml -U clean -Dmaven.skipTests=true package install mvn -f ellieconsumer/pom.xml -U clean -Dmaven.skipTests=true package install mvn -f ellieproducer/pom.xml -U clean -Dmaven.skipTests=true package install ``` 在项目引用 参见 sampleapi/pom.xml, sampleconsumer/pom.xml, sampleproducer/pom.xml 当然 如果你的项目 不用spring 容器的话 可以替换 不是必须的 ###one more thing 如果你觉得这个项目对你有所启发的话 请点个star 谢谢。当然如果有觉得不好的地方 或者Bug 请指教。谢谢你花时间阅读。