Giter VIP home page Giter VIP logo

leah-rpc's Introduction

一个rpc调用框架,底层使用mina通信,hessian2编码解码,使用javassist,cglib完成动态代理以及动态调用。

20150522
	目前已经有了一个雏形,仅仅支持编程式的调用,test里面有相关的例子,还有很多需要完善的地方。
	下一步需要做的:
	1.调用超时时间,session的各种状态判断,等需要处理。
	2.异常处理,以及传播。
	3.如何完成软负载均衡。
	4.如何与spring框架集成起来呢。
	5.如何完成自动注册,注册中心使用数据库 zookeeper?

20150529
    1.增加ExecutorFilter,是服务端和客户端的业务线程与io线程分离执行

20150603
    1.出现一个bug,当客户端并发连接数超过1w的时候,出现java.lang.IllegalArgumentException: message at
    org.apache.mina.core.write.DefaultWriteRequest.<init>(DefaultWriteRequest.java:133)异常,经研究发现这是mina
    的一个bug,mina在2.0.8这个版本修复,我们也将版本号升级为2.0.8。bug详情参见:https://issues.apache.org/jira/browse/DIRMINA-982
    2.增加了client端的超时时间配置
    3.增加了客户端的异步调用
    4.服务端现在针对于每次远程调用,都会开启一个新线程
20150612
    1.对ServiceHandler中的线程池优化一下,采用cpu核数+1的方式限定线程池大小,防止线程数过多导致性能降低
    2.与spring进行集成

参数相关
使用cms垃圾回收器
-server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70

使用g1回收器
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45

leah-rpc's People

Contributors

zhengzc avatar

Stargazers

春天 avatar

Watchers

James Cloos avatar  avatar

Forkers

tomdev2008 yue907

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.