Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
FROM adoptopenjdk/openjdk11:jdk-11.0.2.9-slim
FROM adoptopenjdk/openjdk11:jre-11.0.8_10-alpine
WORKDIR /opt
ENV PORT 8080
EXPOSE 8080
COPY kafka.client.truststore.jks /opt/kafka.client.truststore.jks
COPY target/*.jar /opt/app.jar
ENTRYPOINT exec java $JAVA_OPTS -jar app.jar
ENTRYPOINT exec java $JAVA_OPTS -jar app.jar --spring.profiles.active=aws --spring.config.location=/tmp/
26 changes: 0 additions & 26 deletions README.md

This file was deleted.

61 changes: 61 additions & 0 deletions load-generate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: load-generate
labels:
app: load-generate
namespace: load-generate
spec:
replicas: 0
selector:
matchLabels:
app: load-generate
template:
metadata:
labels:
app: load-generate
spec:
serviceAccountName: statement-demo
containers:
- name: load-generate
image: 837108680928.dkr.ecr.us-east-1.amazonaws.com/load-generate:latest
imagePullPolicy: Always
volumeMounts:
- mountPath: /tmp/application-aws.properties
name: config
subPath: application-aws.properties
resources:
limits:
memory: "3Gi"
cpu: 2
requests:
memory: "3Gi"
cpu: 2
env:
- name: JAVA_OPTS
value: "-XX:MaxRAMPercentage=90.0"
- name: KAFKA_BOOTSTRAP
valueFrom:
configMapKeyRef:
name: kafka
key: bootstrap
- name: KAFKA_GROUP_ID
value: "load-generate"
- name: KAFKA_MAX_POOL_RECORDS
value: "1"
- name: KAFKA_CONCURRENCY
value: "10"
- name: KAFKA_PRODUCER_TOPIC
value: "generate"
- name: KAFKA_CONSUMER_TOPIC
value: "load"
- name: CLOUDWATCH_NAMESPACE
value: "statement12"
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
volumes:
- configMap:
name: application.properties
name: config
89 changes: 53 additions & 36 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,19 @@
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
<java.version>11</java.version>
<aws.sdk.version>1.11.887</aws.sdk.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
Expand All @@ -42,50 +38,71 @@
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>${aws.sdk.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-sts</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-cloudwatch</artifactId>
<version>${aws.sdk.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws</artifactId>
<version>2.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-cloudwatch</artifactId>
<version>1.5.5</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/application*.properties</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>
26 changes: 0 additions & 26 deletions prometheus.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,42 +1,14 @@
package br.com.exemplo.dataingestion;

import br.com.exemplo.dataingestion.adapters.controllers.servers.GenerateLoadController;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener;

import javax.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;

@SpringBootApplication
@RequiredArgsConstructor
@Slf4j
public class LoadGenerateApplication {

@Value("${registros.total:1000000}")
private int registro;

@Value("${contas.total:1000}")
private int contas;

@Value("${dias.total:90}")
private int dias;

private final GenerateLoadController generateLoadController;

public static void main(String[] args) {
SpringApplication.run(LoadGenerateApplication.class, args);
}


@EventListener(ApplicationReadyEvent.class)
public void run() throws Exception {
log.info("Iniciando a produção de {} com {} contas e com {} dias retroativos",registro,contas,dias);
generateLoadController.geraEvento(contas,registro,dias);
log.info("Liberando comando da aplicação");
}
}
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
package br.com.exemplo.dataingestion.adapters.beans;

import br.com.exemplo.dataingestion.adapters.events.entities.DataLancamentoEvent;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
import org.springframework.kafka.core.ConsumerFactory;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import br.com.exemplo.dataingestion.adapters.events.entities.LoadEntity;

@Configuration
public class KafkaConfig {
@Value("${spring.kafka.listener.concurrency}")
private int concurrency;


@Bean
@Scope(value = "prototype")
public KafkaTemplate<String, DataLancamentoEvent> kafkaTemplate1(ProducerFactory<String, DataLancamentoEvent> producerFactory){
Map<String,String> map = new HashMap<>();
map.put(ProducerConfig.CLIENT_ID_CONFIG,UUID.randomUUID().toString());
return new KafkaTemplate(producerFactory,false,map);
public ConcurrentKafkaListenerContainerFactory<String, LoadEntity> kafkaListenerContainerFactory(ConsumerFactory<String, LoadEntity> consumerFactory){
ConcurrentKafkaListenerContainerFactory<String, LoadEntity> factory = new ConcurrentKafkaListenerContainerFactory<String, LoadEntity>();
factory.setConsumerFactory(consumerFactory);
factory.setConcurrency(concurrency);
return factory;
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package br.com.exemplo.dataingestion.adapters.beans;

import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import io.micrometer.core.instrument.simple.SimpleMeterRegistry;

@Configuration
public class MicrometerConfig {

Expand Down
Loading