Passer au contenu principal
Menu
← BACK TO WORK

E-Commerce Microservices

Architecture Distribuée

Architecture distribuée avec frontend React et backend Node.js, communiquant via RabbitMQ.

ClientProjet Lab
RoleArchitecte Logiciel
Year2024
StackReact, Node.js, MongoDB, Docker, TypeScript
E-Commerce Microservices

THE CHALLENGE

Garantir la cohérence des données entre les microservices et gérer la complexité de la communication asynchrone.

order-service.ts
1
import express from 'express';
2
import amqp from 'amqplib';
3
 
4
const app = express();
5
app.use(express.json());
6
 
7
let channel: amqp.Channel;
8
 
9
async function connectRabbitMQ() {
10
  const connection = await amqp.connect('amqp://localhost');
11
  channel = await connection.createChannel();
12
  await channel.assertQueue('orders');
13
}
14
 
15
app.post('/api/orders', async (req, res) => {
16
  const order = req.body;
17
 
18
  // Publish to RabbitMQ
19
  channel.sendToQueue('orders', Buffer.from(JSON.stringify(order)));
20
 
21
  res.status(201).json({ message: 'Order created', order });
22
});
23
 
24
connectRabbitMQ().then(() => {
25
  app.listen(3000, () => logger.log('Order service running'));
26
});
Detail View

Explore More

All Projects