Load simulation module

This commit is contained in:
Kenny Bastani
2017-02-19 18:09:47 -05:00
parent 92d70f62c7
commit 54cbb71733
62 changed files with 55043 additions and 91 deletions

View File

@@ -39,7 +39,7 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dataflow-dependencies</artifactId>
<version>1.1.0.RELEASE</version>
<version>1.1.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>

View File

@@ -33,19 +33,51 @@ public class ImportResources implements ApplicationListener<ApplicationReadyEven
// Deploy a set of event stream definitions
List<StreamApp> streams = Arrays.asList(
new StreamApp("account-stream",
"account-web: account-web | account-worker: account-worker"),
new StreamApp("order-stream",
"order-web: order-web | order-worker: order-worker"),
new StreamApp("payment-stream",
"payment-web: payment-web | payment-worker: payment-worker"),
new StreamApp("warehouse-stream",
"warehouse-web: warehouse-web | warehouse-worker: warehouse-worker"));
new StreamApp("account-event-stream",
"account-web > :account-stream"),
new StreamApp("account-event-processor",
":account-stream > account-worker"),
new StreamApp("account-event-counter",
":account-stream > field-value-counter --field-name=type --name=account-events"),
new StreamApp("order-event-stream",
"order-web > :order-stream"),
new StreamApp("order-event-processor",
":order-stream > order-worker"),
new StreamApp("order-event-counter",
":order-stream > field-value-counter --field-name=type --name=order-events"),
new StreamApp("payment-event-stream",
"payment-web > :payment-stream"),
new StreamApp("payment-event-processor",
":payment-stream > payment-worker"),
new StreamApp("payment-event-counter",
":payment-stream > field-value-counter --field-name=type --name=payment-events"),
new StreamApp("warehouse-event-stream",
"warehouse-web > :warehouse-stream"),
new StreamApp("warehouse-event-processor",
":warehouse-stream > warehouse-worker"),
new StreamApp("warehouse-event-counter",
":warehouse-stream > field-value-counter --field-name=type --name=warehouse-events"),
new StreamApp("account-load-simulator", "time --time-unit=SECONDS --initial-delay=60 " +
"--fixed-delay=30 | " +
"load-simulator --domain=ACCOUNT --operation=CREATE > :load-log"),
new StreamApp("inventory-load-simulator", "time --time-unit=SECONDS --initial-delay=60 " +
"--fixed-delay=1 | " +
"load-simulator --domain=INVENTORY --operation=CREATE --range=10 > :load-log"),
new StreamApp("order-load-simulator", "time --time-unit=SECONDS --initial-delay=80 " +
"--fixed-delay=5 | " +
"load-simulator --command=POST_ORDER --domain=ACCOUNT --operation=CREATE --range=5 > :load-log"),
new StreamApp("account-counter",
":account-stream > counter --name-expression=payload.type.toString()"),
new StreamApp("order-counter",
":order-stream > counter --name-expression=payload.type.toString()"),
new StreamApp("warehouse-counter",
":warehouse-stream > counter --name-expression=payload.type.toString()"));
// Deploy the streams in parallel
streams.parallelStream()
.forEach(stream -> dataFlowTemplate.streamOperations()
.createStream(stream.getName(), stream.getDefinition(), true));
} catch (MalformedURLException e) {
e.printStackTrace();
}

View File

@@ -5,4 +5,5 @@ sink.order-worker=maven://org.kbastani:order-worker:0.0.1-SNAPSHOT
source.payment-web=maven://org.kbastani:payment-web:0.0.1-SNAPSHOT
sink.payment-worker=maven://org.kbastani:payment-worker:0.0.1-SNAPSHOT
source.warehouse-web=maven://org.kbastani:warehouse-web:0.0.1-SNAPSHOT
sink.warehouse-worker=maven://org.kbastani:warehouse-worker:0.0.1-SNAPSHOT
sink.warehouse-worker=maven://org.kbastani:warehouse-worker:0.0.1-SNAPSHOT
processor.load-simulator=maven://org.kbastani:load-simulator:1.0-SNAPSHOT