Dubbo高级篇教程--支付系统开发 之 简易版支付系统部署(单节点)

一、前期准备

1、MySQL数据库的安装:MySQL-5.6.22,自行安装

2、Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装

3、Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装

4、Dubbo视频教程--基础篇--第10节--Dubbo监控中心的介绍与简易监控中心的安装

5、持续集成管理平台(SVN、Nexus、Maven、Hudson)的安装:

Dubbo视频教程--基础篇--第11节至18节

6、Dubbo视频教程--高级篇--第21节--ActiveMQ的安装与使用

7、Dubbo视频教程--高级篇--第22节--Redis的安装与使用

8、Dubbo视频教程--高级篇--第23节--FastDFS分布式文件系统的安装与使用

二、对部署环境进行规划

创建数据库

数据库编码为:UTF-8

数据库引擎为:InnoDB

导入“基于Dubbo的分布式系统架构视频教程--简易版支付系统源码.rar”中的

“数据库--edu_simple_pay.rar”中的“edu_simple_pay.sql”

调整公共配置文件

应用部署前期准备

1、common工程构建、发布到Maven私有库

尤其注意pay-common-config工程的构建(配置文件修改后需要重新构建,引用处也要重新构建)

2、facade工程构建、发布到Maven私有库

部署服务

1、规划好服务部署目录,准备好服务管理脚本

/home/wusc/edu/service/account/service-account.sh

#!/bin/sh

## java env

export JAVA_HOME=/usr/local/java/jdk1.7.0_72

export JRE_HOME=$JAVA_HOME/jre

## you just need to change this param name

APP_NAME=account

SERVICE_DIR=/home/wusc/edu/service/$APP_NAME

SERVICE_NAME=pay-service-$APP_NAME

JAR_NAME=$SERVICE_NAME\.jar

PID=$SERVICE_NAME\.pid

cd $SERVICE_DIR

case "$1" in

start)

nohup $JRE_HOME/bin/java -Xms128m -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"

sleep 5

P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk ‘{print $2}‘`

if [ "$P_ID" == "" ]; then

echo "=== $SERVICE_NAME process not exists or stop success"

else

echo "=== $SERVICE_NAME process pid is:$P_ID"

echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID"

kill -9 $P_ID

fi

;;

restart)

$0 stop

sleep 2

$0 start

echo "=== restart $SERVICE_NAME"

;;

*)

## restart

$0 stop

sleep 2

$0 start

;;

esac

exit 0

2、使用Hudson来自动化部署服务

3、通过Dubbo管控台检查各服务是否都部署成功

部署Web应用

1、规划好Web应用部署目录、端口、脚本

bank-receive-tomcat     8081

boss-tomcat             8082

gateway-tomcat          8083

notify-receive-tomcat   8084

portal-tomcat           8085

shop-tomcat             8086

trade-tomcat            8087

/home/wusc/edu/web/bank-receive-tomcat/restart.sh

## java env

export JAVA_HOME=/usr/local/java/jdk1.7.0_72

export JRE_HOME=$JAVA_HOME/jre

## restart tomcat

current_dir=$(cd `dirname $0`; pwd)

echo "=== current_dir is:$current_dir"

$current_dir/bin/shutdown.sh

sleep 3

rm -rf $current_dir/webapps/*/

sleep 2

$current_dir/bin/startup.sh

 

部署APP

/home/wusc/edu/app/queue-notify/app-queue-notify.sh

#!/bin/sh

## java env

export JAVA_HOME=/usr/local/java/jdk1.7.0_72

export JRE_HOME=$JAVA_HOME/jre

## you only need to change next two parameters value

APP_DIR=/home/wusc/edu/app/queue-notify

APP_NAME=pay-app-queue-notify

JAR_NAME=$APP_NAME\.jar

cd $APP_DIR

## check app process weather exists

process=`ps aux | grep -w "$APP_NAME" | grep -v grep`

if [ "$process" == "" ]; then

echo "=== $APP_NAME process not exists"

else

echo "=== $APP_NAME process exists"

echo "=== $APP_NAME process is : $process"

## get PID by process name

P_ID=`ps -ef | grep -w "$APP_NAME" | grep -v "grep" | awk ‘{print $2}‘`

echo "=== $APP_NAME process PID is:$P_ID"

echo "=== begin kill $APP_NAME process"

kill $P_ID

sleep 3

P_ID=`ps -ef | grep -w "$APP_NAME" | grep -v "grep" | awk ‘{print $2}‘`

if [ "$P_ID" == "" ]; then

echo "=== $APP_NAME process stop success"

else

echo "=== $APP_NAME process kill failed, PID is:$P_ID"

echo "=== begin kill -9 $APP_NAME process, PID is:$P_ID"

sleep 3

kill -9 $P_ID

fi

fi

sleep 2

echo "=== begin start $APP_NAME"

$JRE_HOME/bin/java -Xms128m -Xmx512m -jar $APP_DIR/$JAR_NAME >/dev/null 2>&1 &

部署定时任务

定时任务的部署与调用分离

/home/wusc/edu/timer/report/timer-report.sh

#!/bin/sh

## java env

export JAVA_HOME=/usr/local/java/jdk1.7.0_72

export JRE_HOME=$JAVA_HOME/jre

## you only need to chage next two line value

SERVICE_DIR=/home/wusc/edu/timer/report

APP_NAME=pay-timer-report

JAR_NAME=$APP_NAME\.jar

sleep 1

echo "=== invoke task, please wait"

$JRE_HOME/bin/java -jar $SERVICE_DIR/$JAR_NAME >/dev/null 2>&1 &

## until process stop to print log

while true

do

process=`ps aux | grep $APP_NAME | grep -v grep`;

if [ "$process" == "" ]; then

sleep 1;

echo "=== task complete";

sleep 3;

break;

else

echo "=== process is running, please wait";

sleep 10;

continue;

fi

done

视频教程资源(含源码):http://www.roncoo.com

时间: 2024-10-10 16:27:16

Dubbo高级篇教程--支付系统开发 之 简易版支付系统部署(单节点)的相关文章

支付系统开发--简易版支付系统部署(单节点)

一.前期准备 1.MySQL数据库的安装:MySQL-5.6.22,自行安装 2.Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装 3.Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装 4.Dubbo视频教程--基础篇--第10节--Dubbo监控中心的介绍与简易监控中心的安装 5.持续集成管理平台(SVN.Nexus.Maven.Hudson)的安装: Dubbo视频教程--基础篇--第11节至18节 6.Dubbo视频教程--高级篇--第21节

简易版支付系统部署(单节点) 吴水成

一.前期准备 1.MySQL数据库的安装:MySQL-5.6.22,自行安装 2.Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装 3.Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装 4.Dubbo视频教程--基础篇--第10节--Dubbo监控中心的介绍与简易监控中心的安装 5.持续集成管理平台(SVN.Nexus.Maven.Hudson)的安装: Dubbo视频教程--基础篇--第11节至18节 6.Dubbo视频教程--高级篇--第21节

《C#网络编程高级篇之网页游戏辅助程序设计(扫描版)》

<C#网络编程高级篇之网页游戏辅助程序设计>通过编写C#网络编程语言中具有代表性的实例,向读者深入细致地讲解了如何利用C#语言进行网页游戏辅助程序设计.本书通过大量的代码引导读者一步步学习和掌握C#的网络应用编程的方法和网页游戏辅助程序的设计技术. <C#网络编程高级篇之网页游戏辅助程序设计>涉及的领域包括多线程编程技术.socket套接字编程.tcp协议编程.http协议编程.远程控制技术.木马技术.模拟键盘和鼠标技术.网页游戏辅助程序设计技术等. <C#网络编程高级篇之网

二维码营销系统开发二维码营销系统模式详解

二维码营销系统开发(李想.185.6504.8478)二维码营销系统是什么?二维码营销系统有什么用?我为什么要需求购买二维码营销系统?二维码营销系统到底能给我带来解决什么问题?如果你想了解这些,那就跟随笔者一起往下看!市场营销是指,企业发现或挖掘准消费者需求,从整体氛围的营造以及自身产品形态的营造去推广和销售产品,主要是深挖产品的内涵,切合准消费者的需求,从而让消费者深刻了解该产品进而购买的过程.营销的目的是:产生可持续性收益.营销的本质是:抓住用户的需求,并快速把需求商品化.笔者下面介绍二维码

微信+小程序购物系统开发微信小程序营销系统开发

行业+小程序的结合有无限可能性,想要玩转微信小程序,享受流量盛宴,可借助--河南鼎汉科技,帮您快速打造具有个性化特色的微信小程序.微信小程序系统开发平台.微信小程序购物商城系统开发1.8.8-3.8.07-6.8.0.5电/微, 微信小程序 微商城 微信小程序营销系统开发,微信公众平台订阅号,微信小程序购物商城系统开发定制. 在移动互联网时代从来不缺分销系统,随着移动电商.传统电商.传统商业企业纷纷进入社交电商领域,社交电商正在向专业平台化.团队规模化.渠道立体化.运作规范化等趋势发展.微信"小

区块链社交IM系统开发,多币种钱包系统开发,直播系统开发

区块链社交IM系统开发是现在能够应用于各个行业增加用户粘度的一款系统app.开发区块链社交IM系统不仅仅是用于用户与用户之间的社交沟通,这类型的app系统还可以做一个多币种钱包系统来使用,还可以是一个直播系统.区块链社交IM系统在目前的市场中,给用户带来的是更多的便捷.用户在使用社交的功能的同时,还可以拥有多币种钱包系统的功能,能够储存大量的币,还可以作为一个直播系统来使用.而且随着自媒体时代的不断地发展,人们对于接受新闻的方式越来越新颖,就像现在的广告,很多时候都是以邀请网红直播的方式去推广,

溯源系统开发,区块链技术应用系统app开发

溯源系统是在产品时候生长及供应整个过程中对产品的各种相关信息进行记录存储的质量保障系统,其目的是让消费者对所购的产品放心,不仅能够快速有效地查询到生产地点和加工环节.产品溯源系统是追踪农产品进入市场各个阶段(从生产到流通的全过程)的系统,有助于质量控制和安全.溯源系统开发 Tel: 前面138中间2315后面3201 区块链溯源的技术和架构 数据溯源技术的关键,在于数据模型的构建,它决定了数据起源的获取.存储以及后期的使用等操作.首先,需要对不同业务和不同应用的数据进行抽象建模,并对数据接入进行

手机网站和App如何接入支付宝简易版支付功能PHP版

接入支付宝准备工作:(关于账号可以是个体商户也可以是企业账号但必须有营业执照) 1.登录蚂蚁金服开放平台  2.创建应用,应用分类网页应用和移动应用.应用提交审核审核通过后得到Appid才能调用相应的接口权限 3.添加功能:一般有扫码付,电脑网站支付,手机网站支付,APP支付.看你的需求什么.移动应用选择APP支付或者是扫码付,而网页应用分为移动端和PC端. 4.商户签约 需要提交相关的资料 一般是要求你提供你的网站地址和APP包等要求 按照支付宝要求来签约相关的支付功能 5.配置你的应用开发配

Dubbo高级篇_10_Dubbo消费端直连服务提供者(开发调试)

直连提供者 (+) (#) 在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连, 点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表, A接口配置点对点,不影响B接口从注册中心获取列表. (1) 如果是线上需求需要点对点,可在<dubbo:reference>中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置如下:(1.0.6及以上版本支持) <dubbo:reference id="xxxService"