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
8 changes: 8 additions & 0 deletions nginx/load-balancing/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
```
npm install
npm run dev
```

```
open http://localhost:3000
```
11 changes: 11 additions & 0 deletions nginx/load-balancing/load-balanced-hono-api.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM node:22-alpine

WORKDIR /app

COPY . .

RUN npm install

RUN npm run build

CMD ["node", "dist/index.js"]
3 changes: 3 additions & 0 deletions nginx/load-balancing/load-balanced-ingress.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM nginx:alpine

COPY nginx-load-balancing.conf /etc/nginx/nginx.conf
22 changes: 22 additions & 0 deletions nginx/load-balancing/load-balancer.lttle.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
app:
name: load-balanced-nginx-ingress
namespace: samples
mode:
flash:
timeout: 1
strategy: first-listen
build:
docker:
dockerfile: load-balanced-ingress.dockerfile
context: .
resources:
cpu: 1
memory: 64
expose:
access:
port: 80
external:
protocol: https
connection-tracking:
traffic-aware:
inactivity-timeout: 3
22 changes: 22 additions & 0 deletions nginx/load-balancing/load-balancing-api.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
app:
name: "load-balanced-hono-api-${{ var.idx }}"
namespace: samples
mode:
flash:
timeout: 1
strategy: first-listen
build:
docker:
dockerfile: load-balanced-hono-api.dockerfile
context: .
environment:
IDX: "'${{ var.idx }}'"
resources:
cpu: 1
memory: 64
expose:
access:
internal:
port: 3000
port: 3000
connection-tracking: connection-aware
24 changes: 24 additions & 0 deletions nginx/load-balancing/nginx-load-balancing.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
events {
worker_connections 1024;
}

http {
upstream api {
server load-balanced-hono-api-1-access.samples.svc.lttle.local:3000;
server load-balanced-hono-api-2-access.samples.svc.lttle.local:3000;
}

server {
listen 80;
server_name _;

location / {
proxy_pass http://api;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
5 changes: 5 additions & 0 deletions nginx/load-balancing/node-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
declare namespace NodeJs {
interface ProcessEnv {
IDX: string;
}
}
Loading