Skip to content

Commit c3edd2f

Browse files
committed
Add redis cache and haproxy
1 parent 13c7232 commit c3edd2f

12 files changed

Lines changed: 229 additions & 209 deletions

parte_5/ejem1-jmeter/docker-compose-1b.yml

Lines changed: 0 additions & 73 deletions
This file was deleted.

parte_5/ejem1-jmeter/docker-compose-cache-spring.yml

Lines changed: 0 additions & 73 deletions
This file was deleted.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
include:
2+
- docker-compose-monitoring.yml
3+
4+
services:
5+
mysql-db:
6+
image: mysql:8.0
7+
container_name: mysql-db
8+
environment:
9+
MYSQL_ROOT_PASSWORD: root
10+
MYSQL_DATABASE: post
11+
volumes:
12+
- ./mysql:/var/lib/mysql
13+
- ./initdb:/docker-entrypoint-initdb.d:ro
14+
healthcheck:
15+
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
16+
timeout: 5s
17+
retries: 5
18+
deploy:
19+
resources:
20+
limits:
21+
cpus: '1.0'
22+
memory: 1G
23+
24+
# Topología Caché en memoria. App ejem2-cache-spring
25+
# Topología balanceador de carga y caché en memoria. App ejem2-cache-spring
26+
spring-app:
27+
build: ./ejem-2-cache
28+
environment:
29+
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db:3306/post
30+
- SPRING_DATASOURCE_PASSWORD=root
31+
- SPRING_DATASOURCE_USERNAME=root
32+
depends_on:
33+
mysql-db:
34+
condition: service_healthy
35+
deploy:
36+
replicas: 3 # Con LB
37+
resources:
38+
limits:
39+
cpus: '1.0'
40+
memory: 512m
41+
42+
haproxy:
43+
image: haproxy:latest
44+
container_name: lb_demo
45+
volumes:
46+
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
47+
ports:
48+
- "8090:80" # Tráfico de la App
49+
- "8404:8404" # Estadísticas
50+
depends_on:
51+
- spring-app
52+
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
include:
2+
- docker-compose-monitoring.yml
3+
4+
services:
5+
mysql-db:
6+
image: mysql:8.0
7+
container_name: mysql-db
8+
environment:
9+
MYSQL_ROOT_PASSWORD: root
10+
MYSQL_DATABASE: post
11+
volumes:
12+
- ./mysql:/var/lib/mysql
13+
- ./initdb:/docker-entrypoint-initdb.d:ro
14+
healthcheck:
15+
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
16+
timeout: 5s
17+
retries: 5
18+
deploy:
19+
resources:
20+
limits:
21+
cpus: '1.0'
22+
memory: 1G
23+
24+
# Topología con balanceador y caché distribuida Redis. App ejem2-cache-redis
25+
spring-app:
26+
build: ./ejem-2-cache-redis
27+
environment:
28+
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql-db:3306/post
29+
- SPRING_DATASOURCE_PASSWORD=root
30+
- SPRING_DATASOURCE_USERNAME=root
31+
- SPRING_REDIS_HOST=redis_t3
32+
- SPRING_REDIS_PORT=6379
33+
- SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE=30
34+
depends_on:
35+
mysql-db:
36+
condition: service_healthy
37+
deploy:
38+
replicas: 3 # Con LB
39+
resources:
40+
limits:
41+
cpus: '1.0'
42+
memory: 512m
43+
44+
haproxy:
45+
image: haproxy:latest
46+
container_name: lb_demo
47+
volumes:
48+
- ./haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
49+
ports:
50+
- "8090:80" # Tráfico de la App
51+
- "8404:8404" # Estadísticas
52+
depends_on:
53+
- spring-app
54+
55+
redis:
56+
image: redis:alpine
57+
container_name: redis_t3
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
services:
2+
# --- MONITORING (PROMETHEUS & GRAFANA) ---
3+
prometheus:
4+
image: prom/prometheus:latest
5+
container_name: prometheus
6+
volumes:
7+
- ./prometheus.yml:/etc/prometheus/prometheus.yml
8+
ports:
9+
- "9090:9090"
10+
11+
grafana:
12+
image: grafana/grafana:latest
13+
container_name: grafana
14+
ports:
15+
- "3000:3000"
16+
environment:
17+
- GF_SECURITY_ADMIN_PASSWORD=admin
18+
volumes:
19+
- ./grafana/:/etc/grafana/provisioning/
20+
depends_on:
21+
- prometheus
22+
23+
# --- CADVISOR ---
24+
cadvisor:
25+
image: gcr.io/cadvisor/cadvisor:latest
26+
container_name: cadvisor
27+
privileged: true
28+
command: --docker_only --disable_metrics=percpu,process,sched,tcp,udp,disk,diskIO
29+
ports:
30+
- "8088:8080"
31+
volumes:
32+
- /:/rootfs:ro
33+
- /var/run:/var/run:rw
34+
- /sys:/sys:ro
35+
- /var/lib/docker/:/var/lib/docker:ro
36+
restart: always

0 commit comments

Comments
 (0)