dubbo、web应用 项目结构以及发布目录结构
一、dubbo服务项目结构及发布结构
dubbo 服务项目结构
xxxxx-api 接口类和一些DTO 用于供其他项目依赖
需要提供dubbo服务的接口命名 以Facade结尾 (xxxxxFacade.java)
xxxxx-service 接口实现 以及dubbo服务暴露
需要提供dubbo服务的服务命名以Impl结尾 (xxxxxImpl.java)
关于Duubo服务本地启动方式和用Wrapper方式在服务器启动方式
Duubo服务本地启动方式
采用DUBBO框架自带的Main类的main方法
默认读取在项目的classpath目录下 dubbo.properties配置文件
dubbo.properties指定 加载spring文件的路径
作用是告诉main方法读取哪个路径下的spring配置文件
采用Wrapper的方式在服务器上启动dobbo
在项目跟目录下建立wrapper文件夹
service.sh为shell脚本
通过 ./service.sh start|stop|restart 命令来启停dubbo服务
wrapper.conf为wrapper的配置文件
通过maven打包之后的目录结构为
服务器发布的目录结构
Project_Name (根目录)
|_ conf 项目自己的配置文件 (prop.key,server.properties)
|_ xxxxx-service
|_ bin
|_ conf
|_ lib 项目依赖的库(包括项目本身的jar包)
|_ logs 日志文件存放目录
二、web项目通过Wrapper来发布
1、 把应用安装为守护进程
2、把检测jvm运行情况,对于程序原因或内存溢出导致的虚拟机崩溃实现自动重启
3、记录运行日志
web项目打成war包
服务器发布目录结构
Project_Name (根目录)
|_ xxxxx-web
|_ conf 项目自己的配置文件 (prop.key,server.properties)
|_ XXXTomcat
对于wrapper的配置
dubbo服务的配置相对比较简单
wrapper.conf 配置文件
set.JAVA_HOME=/data/apps/java/jdk1.8.0_45 jdk目录
wrapper.java.command=%JAVA_HOME%/bin/java java命令
wrapper.app.parameter.1=cn.lehome.universal.api.open.ServiceApplication 指定启动类
具体 可以参考 demo [https://github.com/gigold/demo.git]
web应用的配置相对复杂
具体 可以参考[java Service Wrapper配置使用]
未来的测试终局----就是拎着一个“工具箱”来干活的角色,最终必然是面向“产品业务”与“开发”的技能