文件名称:JNSP (java network service platform)
文件大小:740KB
文件格式:RAR
更新时间:2012-12-29 04:52:49
用 java 实现的分布式的网络服务
下列描述了JNSP(java network service platform)服务的部署和功能,如有不明白之处,自己查看源代码,我无力和没有太多时间回答太多的问题. 源代码一起提供,可以随意修改,发布,并商业化,但请保留作者的信息.为了技术的进步,请注意共享成就. 如果查看后有技术问题探讨和建议的,欢迎致电致信联系.系统架构设计和实现有如下特点: A. 采用 Accept-Connect 通讯模型,能统一管理系统中使用的所有 Socket 资源; B. 系统支持通信和协议分离的实现原则,支持自定义协议解析模块;通信负责数据收发,协议负责数据鉴别,两者配合实现通信和协议的和谐工作; C. 灵活支持业务处理功能重定义,分级支持慢业务和快业务的不同业务处理线程; D. 丰富灵活的配置参数,能满足高扩展性; E. 配合业务处理和通信模型,能异步的管理所有的交互步骤; F. 分布式服务设计和部署,减少乃至拒绝单点服务; 1. 可以使用 ant 工具指定目录下 build.xml 文件,编译. 2. TestServerAssistant 是模拟一个第三方的服务,可以采用这个方式启动 java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.assistant.TestServerAssistant /home/huangzheng/MyTest/pack/conf/assistant_log4j.xml /home/huangzheng/MyTest/pack/conf/assistant.xml 3. TestServerA 和 TestServerB 是代表实际的业务处理服务,其处理 TestAgent 分发的业务处理请求.可以采用这个方式启动 java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.frametest.TestServerA /home/huangzheng/MyTest/pack/conf/servera_log4j.xml /home/huangzheng/MyTest/pack/conf/servera.xml java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.frametest.TestServerB /home/huangzheng/MyTest/pack/conf/serverb_log4j.xml /home/huangzheng/MyTest/pack/conf/serverb.xml 4. TestAgent 是表示一个消息分发服务,用户接收最外层的业务请求.可以采用这个方式启动 java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -server -Xms1024m -Xmx1024m com.nsp.agent.TestAgent /home/huangzheng/MyTest/pack/conf/agent_log4j.xml /home/huangzheng/MyTest/pack/conf/agent.xml 5. 可以编写一个客户端 DriverClient 来驱动整个流程,可以采用这个方式启动 java -classpath ./:./bin/:/home/huangzheng/MyTest/pack/nioserver.jar:/home/huangzheng/MyTest/pack/lib/log4j-1.2.15.jar -client -Xms256m -Xmx256m com.nsp.frametest.DriverClient 6. 可以按TestServerAssistant,TestServerA,TestServerB,TestAgent,DriverClient 顺序启动测试.如果在 linux 下,可对应采用 restart_*.sh,startup_*.sh,allstartup.sh 等启动服务.
【文件预览】:
.project
stop.sh
startup_serverb.sh
conn.sh
restart_agent.sh
bin
ps_servera.sh
allstartup.sh
pack
conf
----serverb_log4j.xml(2KB)
----servera_log4j.xml(2KB)
----agent_log4j.xml(2KB)
----assistant_log4j.xml(2KB)
----servera.xml(4KB)
----agent.xml(5KB)
----assistant.xml(4KB)
----serverb.xml(4KB)
restart_serverb.sh
p_large.sh
stop_assistant.sh
stop_serverb.sh
src
----com()
--------nsp()
startup_agent.sh
ps_serverb.sh
startup_assistant.sh
stop_servera.sh
readme.txt
.classpath
restart_servera.sh
startup_servera.sh
lib
----log4j-1.2.15.jar(383KB)
----log4j-1.2.8.jar(344KB)
ps_agent.sh
stop_agent.sh
build.xml
logs
restart.sh
restart_assistant.sh
p1_2.sh
startup.sh