Skip to content

Commit aea37a7

Browse files
committed
interservice communcation working
1 parent 6b4ba46 commit aea37a7

14 files changed

Lines changed: 122 additions & 172 deletions

File tree

examples_new/docker_x/auth/src/app.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ import { NotFoundError, errorHandler } from '@chronosrx/common';
99
import chronosConfig from './chronos-config';
1010
const Chronos = require('@chronosmicro/tracker');
1111
const chronos = new Chronos(chronosConfig);
12+
1213
chronos.propagate();
1314

1415
const app = express();
1516

17+
chronos.docker();
18+
1619
app.use(
1720
cors({
1821
credentials: true,
@@ -21,7 +24,6 @@ app.use(
2124
);
2225
app.use(express.json());
2326
app.use(cookieParser());
24-
chronos.docker();
2527

2628
app.use('/api/auth', authRouter);
2729
app.use('/events', eventRouter);

examples_new/docker_x/auth/src/controllers/auth-controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export const signup = async (req: Request, res: Response) => {
3838
},
3939
};
4040
try {
41-
await axios.post('http://localhost:3005/', {
41+
await axios.post('http://event-bus:3005/', {
4242
event,
4343
});
4444
} catch (err) {

examples_new/docker_x/client/src/server.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const PORT = 5000;
66
const chronosConfig = require('./chronos-config');
77
const Chronos = require('@chronosmicro/tracker');
88
const chronos = new Chronos(chronosConfig);
9+
910
chronos.propagate();
1011

1112
const app = express();

examples_new/docker_x/default.conf

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -25,34 +25,3 @@ server {
2525
proxy_pass http://event-bus:3005;
2626
}
2727
}
28-
# location /orders/deleteorder:id? {
29-
# proxy_pass http://orders:7777;
30-
# }
31-
# location /orders/getcustomerinfo {
32-
# proxy_pass http://orders:7777;
33-
# }
34-
# location /customers/createcustomer {
35-
# proxy_pass http://customers:5555;
36-
# }
37-
# location /customers/getcustomers {
38-
# proxy_pass http://customers:5555;
39-
# }
40-
# location /customers/deletecustomer:id? {
41-
# proxy_pass http://customers:5555;
42-
# }
43-
# location /customers/getbooksinfo {
44-
# proxy_pass http://customers:5555;
45-
# }
46-
# location /books/createbook {
47-
# proxy_pass http://books:8888;
48-
# }
49-
# location /books/deletebook:id? {
50-
# proxy_pass http://books:8888;
51-
# }
52-
# location /books/getbooks {
53-
# proxy_pass http://books:8888;
54-
# }
55-
# location /books/getordersinfo {
56-
# proxy_pass http://books:8888;
57-
# }
58-
# }

examples_new/docker_x/docker-compose.yml

Lines changed: 72 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -60,75 +60,75 @@ services:
6060

6161
volumes:
6262
- '/var/run/docker.sock:/var/run/docker.sock'
63-
nginx:
64-
# Use latest version of the public nginx image.
65-
image: nginx:latest
66-
67-
container_name: 'production_nginx'
68-
69-
ports:
70-
- '8000:8000'
71-
72-
volumes:
73-
- './client:/srv/www/static'
74-
- './default.conf:/etc/nginx/conf.d/default.conf'
75-
76-
depends_on:
77-
- client
78-
- auth
79-
- items
80-
- inventory
81-
- orders
82-
- event-bus
83-
cadvisor:
84-
image: gcr.io/cadvisor/cadvisor:latest
85-
container_name: cadvisor
86-
privileged: true
87-
platform: linux/amd64
88-
ports:
89-
- 8081:8081
90-
command:
91-
- '-port=8081'
92-
volumes:
93-
- /:/rootfs:ro
94-
- /etc/machine-id:/etc/machine-id:ro
95-
- /var/run/docker.sock:/var/run/docker.sock:rw
96-
- /sys:/sys:ro
97-
- /var/lib/docker/:/var/lib/docker:ro
98-
depends_on:
99-
- client
100-
- auth
101-
- items
102-
- inventory
103-
- orders
104-
- event-bus
105-
prometheus:
106-
image: prom/prometheus:latest
107-
container_name: prometheus
108-
ports:
109-
- 9090:9090
110-
command:
111-
- --config.file=/etc/prometheus/prometheus.yml
112-
volumes:
113-
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
114-
115-
depends_on:
116-
- cadvisor
117-
118-
grafana:
119-
image: grafana/grafana:latest
120-
container_name: grafana
121-
ports:
122-
- 32000:3000
123-
volumes:
124-
# Share the named volume with the grafana container
125-
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
126-
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
127-
environment:
128-
GF_PATHS_CONFIG: /etc/grafana/grafana.ini
129-
GF_SECURITY_ALLOW_EMBEDDING: 'true'
130-
depends_on:
131-
- prometheus
132-
133-
volumes:
134-
grafana-dir: {}
63+
# nginx:
64+
# # Use latest version of the public nginx image.
65+
# image: nginx:latest
66+
67+
# container_name: 'production_nginx'
68+
69+
# ports:
70+
# - '8000:8000'
71+
72+
# volumes:
73+
# - './client:/srv/www/static'
74+
# - './default.conf:/etc/nginx/conf.d/default.conf'
75+
76+
# depends_on:
77+
# - client
78+
# - auth
79+
# - items
80+
# - inventory
81+
# - orders
82+
# - event-bus
83+
# cadvisor:
84+
# image: gcr.io/cadvisor/cadvisor:latest
85+
# container_name: cadvisor
86+
# privileged: true
87+
# platform: linux/amd64
88+
# ports:
89+
# - 8081:8081
90+
# command:
91+
# - '-port=8081'
92+
# volumes:
93+
# - /:/rootfs:ro
94+
# - /etc/machine-id:/etc/machine-id:ro
95+
# - /var/run/docker.sock:/var/run/docker.sock:rw
96+
# - /sys:/sys:ro
97+
# - /var/lib/docker/:/var/lib/docker:ro
98+
# depends_on:
99+
# - client
100+
# - auth
101+
# - items
102+
# - inventory
103+
# - orders
104+
# - event-bus
105+
# prometheus:
106+
# image: prom/prometheus:latest
107+
# container_name: prometheus
108+
# ports:
109+
# - 9090:9090
110+
# command:
111+
# - --config.file=/etc/prometheus/prometheus.yml
112+
# volumes:
113+
# - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
114+
115+
# depends_on:
116+
# - cadvisor
117+
118+
# grafana:
119+
# image: grafana/grafana:latest
120+
# container_name: grafana
121+
# ports:
122+
# - 32000:3000
123+
# volumes:
124+
# # Share the named volume with the grafana container
125+
# - ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
126+
# - ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
127+
# environment:
128+
# GF_PATHS_CONFIG: /etc/grafana/grafana.ini
129+
# GF_SECURITY_ALLOW_EMBEDDING: 'true'
130+
# depends_on:
131+
# - prometheus
132+
133+
# volumes:
134+
# grafana-dir: {}

examples_new/docker_x/event-bus/package-lock.json

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples_new/docker_x/event-bus/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
"@chronosmicro/tracker": "^12.0.2",
1515
"@chronosrx/common": "^1.0.4",
1616
"axios": "^1.6.2",
17+
"cors": "^2.8.5",
1718
"dotenv": "^16.3.1",
1819
"express": "^4.18.2",
1920
"ts-node-dev": "^2.0.0"
2021
},
2122
"devDependencies": {
22-
"@types/express": "^4.17.21"
23+
"@types/express": "^4.17.21",
24+
"@types/cors": "^2.8.17"
2325
}
2426
}

examples_new/docker_x/event-bus/src/app.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import express, { Request, Response } from 'express';
2+
import cors from 'cors';
23
import axios from 'axios';
34
import { NotFoundError, errorHandler } from '@chronosrx/common';
45

@@ -10,6 +11,7 @@ chronos.propagate();
1011

1112
const app = express();
1213

14+
app.use(cors());
1315
app.use(express.json());
1416

1517
chronos.docker();
@@ -19,25 +21,25 @@ app.use('/', async (req: Request, res: Response) => {
1921
console.log('📫 Event Bus Publishing event:', event);
2022
// Auth
2123
try {
22-
await axios.post('http://localhost:3000/events', { event });
24+
await axios.post('http://auth:3000/events', { event });
2325
} catch (err) {
2426
console.log(`Failed to emit event ${event.type} to the Auth Service`);
2527
}
2628
// Item
2729
try {
28-
await axios.post('http://localhost:3001/events', { event });
30+
await axios.post('http://items:3001/events', { event });
2931
} catch (err) {
3032
console.log(`Failed to emit event ${event.type} to the Items Service`);
3133
}
3234
// Inventory
3335
try {
34-
await axios.post('http://localhost:3002/events', { event });
36+
await axios.post('http://inventory:3002/events', { event });
3537
} catch (err) {
3638
console.log(`Failed to emit event ${event.type} to the Inventory Service`);
3739
}
3840
// Order
3941
try {
40-
await axios.post('http://localhost:3003/events', { event });
42+
await axios.post('http://orders:3003/events', { event });
4143
} catch (err) {
4244
console.log(`Failed to emit event ${event.type} to the Orders Service`);
4345
}

examples_new/docker_x/inventory/src/app.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { NotFoundError, errorHandler } from '@chronosrx/common';
99
import chronosConfig from './chronos-config';
1010
const Chronos = require('@chronosmicro/tracker');
1111
const chronos = new Chronos(chronosConfig);
12+
1213
chronos.propagate();
1314

1415
const app = express();

examples_new/docker_x/inventory/src/controllers/inventory-controllers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const updateItemInventory = async (req: Request, res: Response) => {
2020
newInventory.units = units;
2121
await newInventory.save();
2222
try {
23-
await axios.post('http://localhost:3005/', {
23+
await axios.post('http://event-bus:3005/', {
2424
event: {
2525
type: EventTypes.INVENTORY_UPDATED,
2626
payload: newInventory,

0 commit comments

Comments
 (0)