Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 1.98 KB

Run.md

File metadata and controls

65 lines (43 loc) · 1.98 KB

启动

ActiveMQ Artemis

miaosha-broker/bin/artemis-service start

webapp

新建文件application-jms-client.properties,内容见这里application-jms-client.properties

artemis-disruptor-miaosha-web-1.1.0-SNAPSHOT.war放到${TOMCAT_HOME}/webapps下,并改名为miaosha.war

${TOMCAT_HOME}/conf/Catalina/localhost下新建miaosha.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Environment name="spring.config.location" value="application-jms-client.properties的绝对路径" type="java.lang.String"/>
  <Resources cachingAllowed="true" cacheMaxSize="100000" />
</Context>

PS. webapp可以有多个节点,利用haproxy、nginx做反向代理。

backend

新建一个文件application-jms-server.properties,内容见这里application-jms-server.properties。需要注意的是,要修改spring.datasource.url参数到你自己的数据库上。

运行以下命令启动选课后端程序

java -jar -server -Xms2g -Xmx2g \
  -Dspring.config.location=application-jms-server.properties的路径 \
  artemis-disruptor-miaosha-backend-1.1.0-SNAPSHOT.jar

PS. 秒杀后端只能部署有一个节点,因为商品的库存数据都在内存,而这些数据是不跨JVM共享的。

测试

下单:

curl -X POST 'http://localhost:8080/miaosha/order' --data 'itemId=1'

返回结果:

{"id":"325e5ef0-322a-11e7-a867-b20ed8864300","itemId":1,"userId":"HFxUS"}

上面返回的JSON的ID就是下单请求ID,然后利用这个请求ID获得下单结果:

curl -X GET 'http://localhost:8080/miaosha/order-result?requestId=325e5ef0-322a-11e7-a867-b20ed8864300'

返回结果:

{"id":"dc6abcb6-3229-11e7-9067-b20ed8864300","requestId":"325e5ef0-322a-11e7-a867-b20ed8864300","errorMessage":null,"success":true}