分布式分层
基础硬件设施层、数据库文件集群层、系统运行权限支撑层、基础信息支撑层、后台运行监管层、soa服务层、各应用系统层、数据交换层、大数据层、网络层
框架模块分层
Bhz-parent
Manven父空壳项目 设置父类绝对路径<relativepath>../bhz-parent</>
pom中配置发布到私服distributionmanagement中repository和snapshotrepository prototies中版本号
外服依赖mvnrepository.com 和自己的maven私deploy服nexus http://localhost:8081/nexus
配置nexus maven的setting配置中1配置本地repository 2配置servers节点用户名密码和 profiles节点中的库地址repositories和插件库pluginrepository地址激活activeprofile
Bhz-sys(系统运行web) war包
新建webapp pom引用父项目<parent>设置父类地址/bhz-parent/pom.xml
Buildpath切换jdk 添加appache libiary tomcat, deployment assembly有没有manven
代码规范:引入公司模版java_code_template.xml
Web.xml spring和springmvc和servlet和session和log4
Config.properties jdbc用户名密码和文件上传地址
Log4j.properties
Spring-context jdbc数据源 食物管理器 注解管理 扫描包
Springmvc配置 上传下载配置 spring过滤jsp 扫描包
Javasrc 命名规范 bhz.sys.web.controller
Maven聚合install 父pom中module中加子
Bhz -sys-facad
Bhz.sys.entity(实体) bhz.sys.facad(接口) bhz.sys.serial (实体)dto(外传实体)
Entity层 @nutnull @jsonproperty @xmlelement @size
Façade层 @path @consumes @produces @get@path(“/get/{id:\\+id}”)getuser(@pathparam(value=”id”) integer id);
Serial层 serializationoptimizer序列化user层
Bhz-sys-service webapp jar包 依赖façade com 负载均衡
maven编译进xml,properties 依赖jar包编译目录和配置首页
com.alibaba.dubbo.container.main
配置dubbox remoting和配置8888 zookeeper集群
Dubbo 生产者provider zookeeper注册中心 引入配置文件 kryo序列化类 rest配置《dubbo:protocl》 配置动态代理aspectj
Dao层 @repository
Service层 @service(“sysuserservice”)@com.alibaba.dubbo.config.annoataion.service(interfacecalss=bhz.sys.facade.sysuserfacade.class) implement sysuserfacade
Zookeper集群
150主 scp拷贝到远程152153 profile—eookeeper_home—-conf修改datadir,server.0=192.168.1.151:2888:3888,server.1=,..—–scp到151,152,—mkdir data 012—-
到data下—创建myid 150 0,151 1,152 2—-zkserver.sh start
Dubbo管控台dubbo-admin.war到tomcat下webapps下unzip—修改dubbo-admin下dubbo.properties的用户名密码和dubbo.registry.address=zookeeper:192.168.1.151:2181—-
Start tomcat startup.sh—tail-f –n 500 bin/log/Catalina—修改tomcat的jvm内存大小bin下的catalina.sh中加java_opts=’-xms512m –xmx512m’– –运行工程然后进zkcli.sh(ls命令树)或eclipse的zookeeper工具进查看服务—-把service的jiar包和target的lib目录扔181服务器service上—java –jar service.jar &—-8888外部 2088内部—–182部署同样服务 free-m查看内存—–web端引入façade—-web端config.properties加入dubbozookeeper服务bhz-sys,dubbo-consumer配置和前面dubbo-provider一样—-dubbo:refernce interface=”façade”—-
Spring-context中引入dubbo-consumer—-使用@autowire或@resource引入facade
注意 linux下hosts文件命名互相知道对方
Shell脚本不要和服务名称一致———-182
#!/bin/sh
## java env
Export JAVA_HOME=/USR/LOCAL/JDK1.7
EXPORT JRE_HOME=$JAVA_HOME/JRE
## exec shell name
EXEC_SHELL_NAME=sys-service\.sh
## service name
SERVICE_NAME=bhz-sys-service
SERVICE_DIR=/usr/local/workspace/sys-service
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid
Cd $SERVICE_DIR
Case “$1” in
Start)
Nohup $JRE_HOME/bin/java –Xms256m –xmx512m –jar $JAR_NAME >/dev/null 2>&1 &
Echo $! > $SERVICE_DIR/$PID
Echo “#### start SERVICE_NAME”
;;
Stop)
Kill `cat $SERVICE_DIR\$PID`
Rm –rf $SERVICE_DIR\$PID
Echo “#### stop $SERVICE_NAME”
Seleep 5
TEMP_PID =`PS –EF | grep –w “$SERVICE_NAME” | grep –v “grep” | awk ‘{print $2}’`
If[ “TEMP_PID” == “”] ; then
Echo “#### $SERVICE_NAME process not exists or stop success”
Else
Echo “#### $SERVICE_NAME process pid is $TEMP_PID”
Kill -9 $TEMP_PID
Fi
;;
Restart)
$0 stop
Sleep 2
$0 start
Echo “#### reatart”
;;
Esac
Exit 0
———-
Chmod 777 sys-service.sh 放开service的log4j日志 sh放到sercie的bin下
Sh sys-service.sh start
Tail到logs
Webapp下建立css gzjs extjs images docs web.Xml加过gzipfilter滤器
数据库设计
业务分层 模块清晰 主外键约束 时间戳 文档 代码规范
Jekins自动化部署 拦截svn 150
安装apache root下yum install httpd httpd-devel ——-启动service httpd start——加入开机
Chkconfig httpd on——修改端口 vim etc下httpd下httpd.conf——安装svn yum install mod_dav_svn subversion —-查看svn配置etc下httpd下conf.d下subversion.conf——-
Svn –version———重启apache service httpd restart——–查看 ls /etc/httpd/modules/ | grep svn ——- 创建svn库 root下mkdir /svn/ —–编辑subversion.conf 的放开<Location /svn/>DAV svn SVNListParentPath on ……</> — /svn/下创建二个文件 touch /svn/passwd.http和touch /svn/authz —-重启apache ——安装svn管控台
先安装mysql—-yum install mysql-server mysql mysql-devel ——启动service mysqld start——查看 chkconfig –list | grep mysqld———开机启动chkcofig mysqld on ——设置mysql密码 mysqladmin –u root password root —–登陆 远程赋权 sql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION; FLUSH PRIVILEGES;—–安装svn-tomcat—–修改svn-tomcat/conf/server.xml配置端口9000—— 上传svnadmin.war到webapps下解压tar——修改配置svnadmin下WEB-INF/jdbc.properties配置mysql——-新建mysql库 svnadmin——导入表mysql5.sql和en.sql——启动 /usr/local/svn-tomcat/bin/startup.sh——创建项目/svn/bhz和用户——修改apache的httpd.conf下组group的角色USER root GROUP root 或者chmod –R apache.apache bhz和chmod –R 777 bhz ——关闭seliux/config selinux=disabled——-reboot重启 —-安装tortoisesvn客户端——-新建repo 150/svn/bhz/—-建立add forder文件夹结构跟java一样——-eclipse资源库新建——检出—–删除和忽略.project .classpath .setting target—–team svn:ignore——-team 提交
150安装nexus——mkdir /usr/local/nexus—–上传apache-manven和nexus-bundle——tar到nexus—–配置nexus的jetty conf/nexus.properties 配置端口—–修改bin下的nexus RUN_AS_USER=root—-nexus start—-jswlauncher进程—-访问—–开机启动命令 /etc/rc.d/rc.local添加启动 和 bin/jsw/conf/wrapper.conf配置jdk—–上传一些下载不到的包3rd party artifact upload dubbo和jdbc—–
Jenkins需要maven—–解压maven—-配置etc/profile export MAVEN_HOME=——MVN –V—-
配置conf下setting的localrepository 库地址 和 <server></> <profile></profile>
安装jenkins—mkdir jenkinsHome—-配置 etc/profile export JENKINS_HOME=—–安装jenkins-tomcat—修改jenkins-tomcat下server.xml端口7070和字符集uriencoding和catalina.sh内存配置JAVA_OPS
—上传jenkins.war到webapps下—启动tomcat—-jps—-访问—-
也可以 java –jar Jenkins.war
系统管理-安全验证-启动安全专用数据库-安全矩阵添加用户—–添加用户—-系统设置执行者数量和等待时间—-配置jdk和maven、库和svn和邮箱和publish over ssh和sh脚本—-安装jenkin插件ssh、clean up—-
使用jenkins—-取消聚合—–创建一个maven job(和java结构相同)—-discard old builds keep 5—-源码管理配置svn—-pool scm触发构建 表达式生成器 cron.qqe2.com—-maven设置 clean install deploy—保存—console output—-查看nexus
Bhz-service需要发布运行—-触发构建是滞后于façade—-不需要deploy —–发布到多个服务器配置shh site publish over ssh发布ssh脚本 execute shell script on remote host using ssh
构建前 maven 构建后send build artifacts over ssh发送文件—-部署节点选择传shell脚本—–选择后执行shell权限脚本
测试docker 整体做成一个软件集合镜像 直接运行到别的机器上 docker search redis 找软件 docker images查看
Bhz-com(公共模块)
Bhz.com.web bhz.com.utl bhz.com.dao bhz.com.service bhz.com.model bhz.com.constant
Final constant 字符集 根节点 日期格式 json标记 json总数 json消息文本
Bhz-mst(基础信息)网盘下载