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
Binary file added .DS_Store
Binary file not shown.
Binary file added pay-app-spring-microservices/.DS_Store
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ spring.application.name=app-config
server.port=8888

# Config
spring.cloud.config.server.git.uri=https://github.com/icesi-ops/training_microservices.git
spring.cloud.config.server.git.uri=https://github.com/gonzalodevarona/training_microservices
spring.cloud.config.server.default-label=master
spring.cloud.config.server.git.search-paths=pay-app-spring-microservices/config
spring.cloud.config.server.git.skip-ssl-validation=true
Expand Down
3 changes: 2 additions & 1 deletion pay-app-spring-microservices/app-invoice/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.kafka:spring-kafka'
implementation 'org.springframework.cloud:spring-cloud-starter-config'

implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.projectlombok:lombok'
Expand Down
2 changes: 2 additions & 0 deletions pay-app-spring-microservices/app-pay/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.kafka:spring-kafka'
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.projectlombok:lombok'
Expand Down
2 changes: 2 additions & 0 deletions pay-app-spring-microservices/app-transaction/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.kafka:spring-kafka'
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-consul-discovery'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
Expand Down
12 changes: 12 additions & 0 deletions pay-app-spring-microservices/appgw/gateway.config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,14 @@ apiEndpoints:
appconfig:
host: localhost
paths: ['/config','/config/*']
appinvoice:
host: localhost
paths: ['/invoice','/invoice/*']
serviceEndpoints:
appconfig:
url: 'http://loadbalancer/config/'
appinvoice:
url: 'http://loadbalancer/invoice/'
policies:
- basic-auth
- cors
Expand All @@ -23,6 +28,7 @@ pipelines:
default:
apiEndpoints:
- appconfig
- appinvoice
policies:
# Uncomment `key-auth:` when instructed to in the Getting Started guide.
- key-auth:
Expand All @@ -33,3 +39,9 @@ pipelines:
prependPath: false
ignorePath: false
stripPath: false
- action:
serviceEndpoint: appinvoice
changeOrigin: true
prependPath: false
ignorePath: false
stripPath: false
12 changes: 9 additions & 3 deletions pay-app-spring-microservices/config/app-pay-dev.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ server.port=8010
# Kafka
spring.kafka.template.default-topic=transaction-events
spring.kafka.producer.bootstrap-servers=servicekafka:9092
#spring.kafka.producer.bootstrap-servers=servicekafka:9092
spring.kafka.producer.bootstrap-servers=servicekafka:9092
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.IntegerSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.admin.properties.bootstrap.servers=servicekafka:9092
#spring.kafka.admin.properties.bootstrap.servers=servicekafka:9092
spring.kafka.admin.properties.bootstrap.servers=servicekafka:9092

# JPA
logging.level.org.hibernate.SQL=debug
Expand All @@ -22,4 +22,10 @@ spring.datasource.url=jdbc:mysql://mysql:3306/db_operation?serverTimezone=Americ
spring.datasource.username=root
spring.datasource.password=mysql
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect

# Consul
spring.cloud.consul.host=consul
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.health-check-interval=5s
spring.cloud.consul.discovery.prefer-ip-address=true
13 changes: 10 additions & 3 deletions pay-app-spring-microservices/config/app-transaction-dev.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,20 @@ server.port=8082

# Kafka
spring.kafka.consumer.bootstrap-servers=servicekafka:9092
#spring.kafka.consumer.bootstrap-servers=servicekafka:9092
spring.kafka.consumer.bootstrap-servers=servicekafka:9092
spring.kafka.admin.properties.bootstrap.servers=servicekafka:9092
spring.kafka.admin.properties.bootstrap.servers=servicekafka:9092
#spring.kafka.admin.properties.bootstrap.servers=servicekafka:9092
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.IntegerDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.group-id=transaction-events-listener-group

# MongoDB
spring.data.mongodb.uri=mongodb://mongodb:27017/db_transaction
#spring.data.mongodb.uri=mongodb://mongodb:27017/db_transaction
#spring.data.mongodb.uri=mongodb://mongodb:27017/db_transaction


# Consul
spring.cloud.consul.host=consul
spring.cloud.consul.port=8500
spring.cloud.consul.discovery.health-check-interval=5s
spring.cloud.consul.discovery.prefer-ip-address=true
21 changes: 21 additions & 0 deletions pay-app-spring-microservices/haproxy/haproxy.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ frontend http_front
mode http
acl url_config path_beg /config
use_backend config_back if url_config
acl url_config path_beg /invoice
use_backend app_invoice if url_config
acl url_config path_beg /pay
use_backend app_pay if url_config
acl url_config path_beg /transaction
use_backend app_transaction if url_config

default_backend http_back

Expand All @@ -23,6 +29,21 @@ backend config_back
balance roundrobin
http-request set-path "%[path,regsub(^/config/,/)]"
server appconfig app-config.service.consul:8888 resolvers consul resolve-prefer ipv4 check
backend app_invoice
mode http
balance roundrobin
http-request set-path "%[path,regsub(^/invoice/,/)]"
server appinvoice app-invoice.service.consul:8006 resolvers consul resolve-prefer ipv4 check
backend app_pay
mode http
balance roundrobin
http-request set-path "%[path,regsub(^/pay/,/)]"
server apppay app-pay.service.consul:8010 resolvers consul resolve-prefer ipv4 check
backend app_transaction
mode http
balance roundrobin
http-request set-path "%[path,regsub(^/transaction/,/)]"
server apptran app-transaction.service.consul:8010 resolvers consul resolve-prefer ipv4 check
backend http_back
mode http
balance roundrobin
Expand Down