分布式压测系统大致架构项目安装启动
安装node环境
安装node安装Angular CLI安装zookeeper安装sbt启动项目安装arthas相关
分布式压测系统大致架构我画了个大概的架构图:
其实主要就是前后端,加上zookeeper做注册中心以及arthas做性能排查。前段用的是angularJS,后端是play framework,这个跟springmvc类似,也是个web框架,有兴趣可以看下官网。
介绍完了基本的东西,应该先下来启动吧,眼见为实,当然需要一些环境,下面一个个介绍下。
安装node环境这里先放一份linux安装过环境的命令吧,可以参考:
#node wget https://npm.taobao.org/mirrors/node/v14.18.1/node-v14.18.1-linux-x64.tar.gz tar -zxvf node-v14.18.1-linux-x64.tar.gz #创建软连接 sudo ln -s /data/loadtest/node-v14.18.1-linux-x64/bin/npm /usr/local/bin/npm sudo ln -s /data/loadtest/node-v14.18.1-linux-x64/bin/node /usr/local/bin/node #设置淘宝仓库 npm config set registry https://registry.npm.taobao.org --global #安装yarn npm install -g yarn #创建软连接 sudo ln -s /data/loadtest/node-v14.18.1-linux-x64/bin/yarn /usr/bin/yarn yarn config set registry https://registry.npm.taobao.org/ #安装sbt tar -zxvf sbt-1.2.8.tgz # 解压 cd /data/loadtest/sbt/ # 进入解压目录 vim sbt # 新建一个名字为sbt的文本,并在在文本中加入以下内容 #!/bin/bash SBT_OPTS="-Xms512M -Xmx8192M -Xss10M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar /data/loadtest/sbt/bin/sbt-launch.jar "$@" # 注意对应路径 # wq保存退出 chmod u+x ./sbt # 修改sbt脚本文件权限 sudo vim /etc/profile # 配置PATH环境变量 sudo vim ~/.bashrc # 在文件最后添加: export PATH=/data/loadtest/sbt/:$PATH # wq保存退出 source /etc/profile # 使配置文件立刻生效 source ~/.bashrc # cnpm安装 npm install -g cnpm sudo ln -s /data/loadtest/node-v14.18.1-linux-x64/bin/cnpm /usr/local/bin/cnpm #Angular Cli npm install -g @angular/cli sudo ln -s /data/loadtest/node-v14.18.1-linux-x64/bin/ng /usr/local/bin/ng 或者 cnpm install @angular/cli -g安装node
https://nodejs.org/en/download/
根据系统来装,可以先windows的:
可以参考这篇文章的https://www.cnblogs.com/wyt007/p/10260524.html
其实就是安装一个ng的命令环境,最好再装一个yarn工具
去官网下载一个版本即可,我用的是3.7.0,下载下来后解压开,去conf中复制一份zoo_sample.cfg,命令为zoo.cfg:
然后在bin目录下双击zkServer.cmd即可:
sbt就是scala的构建工具,因为这个框架是是用scala写的,有兴趣可以了解下sbt,
sbt下载
目前用的是老版本1.2.8
安装完之后可以开始准备启动了,但是sbt可能会因为下载慢,要等好久,所以一般都会进行仓库的设置,比如我这里可以做个参考,网上也有很多其他的方法,比如华为的仓库,首先创建一个repo.properties文件:
内容是:
[repositories] local aliyun-central: https://maven.aliyun.com/repository/central aliyun-public: https://maven.aliyun.com/repository/public sbt-plugin: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootonly sbt-plugin-releases2: https://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootonly sonatype: http://oss.sonatype.org/content/repositories/snapshots typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootonly typesafe2: http://repo.typesafe.com/typesafe/releases/ jcenter: https://jcenter.bintray.com/ repo1: https://repo1.maven.org/maven2/ store_2: http://repo2.maven.org/maven2/ aliyun-releases: https://maven.aliyun.com/repository/releases aliyun-jcenter: https://maven.aliyun.com/repository/jcenter
然后在sbtconfig.txt文件中配置:
# Set the java args to high -Xmx4096M -Xms512M -Xss10M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m # Set the extra SBT options -Dsbt.log.format=true -Dsbt.repository.config=D:/sbt-1.2.8/repo.properties -Dsbt.boot.directory=D:/sbt-1.2.8/boot -Dsbt.ivy.home=D:/sbt-1.2.8/.ivy2 -Dsbt.directory=D:/sbt-1.2.8/.sbt启动项目
到项目目录下,然后cmd,输入以下命令:
sbt "run -Dhttp.port=20009 -DPORT=20009 -DADDRESS=127.0.0.1 -DZK_IP=127.0.0.1 -DHOST=test20009 -DARTHAS_URL=http://127.0.0.1:40000/?port=40001"
不过第一次启动的时候可能会下载一堆依赖包的,耐心等待即可,如果发现下载不动了,可能是因为仓库的问题,这个可以百度下,有很多方法解决的。
然后伴随着页面会跳出来:
打印的日志:
进行编译以及zookeeper注册:
这个相关的已经在这篇讲过,可以参考下。
这里直接演示命令,启动arthas-tunnel:
java -jar -Dserver.port=40000 -Darthas.server.port=40001 arthas-tunnel-server-3.5.5-fatjar.jar
然后启动一个arthas实例:
java -jar arthas-boot.jar --tunnel-server ws://127.0.0.1:40001/ws --agent-id test20009
好了,现在项目和arthas应该已经启动了,篇幅有点长了,后面介绍下怎么玩的。今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。



