
āļāļāļāļģ
āđāļāļĒāļļāļāļāļĩāđāļĢāļ°āļāļ E-commerce āđāļāļīāļāđāļāļāļĒāđāļēāļāļĢāļ§āļāđāļĢāđāļ§ āļāļēāļĢāļŠāļĢāđāļēāļāļĢāļ°āļāļāđāļŦāđāļĢāļāļāļĢāļąāļāļāļđāđāđāļāđāļāļģāļāļ§āļāļĄāļēāļ āđāļĨāļ°āļĄāļĩāļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļāđāļĒāļāļŠāđāļ§āļ (Microservices) āļāļ·āļāđāļāđāļāļŠāļīāđāļāļāļģāđāļāđāļ AWS āđāļāđāļāđāļāļĨāļāļāļāļĢāđāļĄāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļĒāđāļēāļāļĒāļīāđāļāļŠāļģāļŦāļĢāļąāļāđāļāļ§āļāļīāļāļāļĩāđ â āļāđāļ§āļĒāļāļĢāļīāļāļēāļĢāļāļĒāđāļēāļ API Gateway, Lambda, DynamoDB, SNS, SQS āļāļĩāđāļāđāļ§āļĒāđāļŦāđāđāļĢāļēāļŠāļĢāđāļēāļāļĢāļ°āļāļ Order, Payment, Notification āđāļāđāđāļāļ Serverless āļāļĒāđāļēāļāđāļāđāļāļĢāļīāļ
1. āļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāļĢāļ°āļāļ E-commerce Microservice
āļĢāļ°āļāļāļāļĩāđāļāļ°āđāļāđāļāđāļāđāļ 3 āļāļĢāļīāļāļēāļĢāļŦāļĨāļąāļ:
- Order Service â āļĢāļąāļāļāļģāļŠāļąāđāļāļāļ·āđāļāđāļĨāļ°āļāļąāļāļāļķāļāļāđāļāļĄāļđāļĨ
- Payment Service â āļāļģāđāļāļīāļāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļāđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļŠāļāļēāļāļ°
- Notification Service â āđāļāđāļāđāļāļ·āļāļāļāļđāđāđāļāđāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļāļŠāļģāđāļĢāđāļ

2. āđāļāļĢāļāļŠāļĢāđāļēāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāđāļāđāļĨāļ° Service
āļāļĢāļīāļāļēāļĢāđāļāđāļĨāļ°āļāļąāļ§āļāļ°āļŠāļ·āđāļāļŠāļēāļĢāļāļąāļāļāđāļēāļ Event-driven Architecture āđāļāļĒāđāļāđ SNS āđāļĨāļ° SQS āļāļģāđāļŦāđāļĢāļ°āļāļāļĄāļĩāļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļ āđāļĨāļ°āļāļĒāļēāļĒāđāļāļīāđāļĄāļāļĢāļīāļāļēāļĢāļāļ·āđāļāđāļāđāđāļāļāļāļēāļāļ
3. Order Service (API Gateway + Lambda + DynamoDB)
āđāļĢāļīāđāļĄāļāļēāļ Order Service āļāļĩāđāļĢāļąāļ Request āļāļēāļāļāļđāđāđāļāđāļāđāļēāļ API Gateway āđāļĨāđāļ§āļāļąāļāļāļķāļāļāđāļāļĄāļđāļĨāļāļģāļŠāļąāđāļāļāļ·āđāļāļĨāļ DynamoDB āļāļēāļāļāļąāđāļāļŠāđāļ Event āđāļāļĒāļąāļ SNS āđāļāļ·āđāļāđāļāđāļ Payment Service
// orderService.js
const AWS = require("aws-sdk");
const dynamo = new AWS.DynamoDB.DocumentClient();
const sns = new AWS.SNS();
exports.handler = async (event) => {
const order = JSON.parse(event.body);
order.status = "PENDING";
order.id = Date.now().toString();
await dynamo.put({
TableName: "Orders",
Item: order
}).promise();
await sns.publish({
TopicArn: process.env.PAYMENT_TOPIC_ARN,
Message: JSON.stringify(order)
}).promise();
return {
statusCode: 200,
body: JSON.stringify({ message: "Order created", order })
};
};
4. Payment Service (SQS + Lambda + DynamoDB)
Payment Service āļāļ°āļāļģāļāļēāļāđāļāļĒāļāļēāļĢāļĢāļąāļāļāđāļāļāļ§āļēāļĄāļāļēāļāļāļīāļ§ SQS āļāļĩāđāļŠāđāļāļĄāļēāļāļēāļ SNS āđāļĨāļ°āļāļģāļĨāļāļāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļ āđāļāđāļ āļāđāļēāļ Payment Gateway āļ āļēāļĒāļāļāļ
// paymentService.js
const AWS = require("aws-sdk");
const dynamo = new AWS.DynamoDB.DocumentClient();
const sns = new AWS.SNS();
exports.handler = async (event) => {
for (const record of event.Records) {
const order = JSON.parse(record.body);
order.status = "PAID";
await dynamo.update({
TableName: "Orders",
Key: { id: order.id },
UpdateExpression: "set #s = :s",
ExpressionAttributeNames: { "#s": "status" },
ExpressionAttributeValues: { ":s": "PAID" }
}).promise();
await sns.publish({
TopicArn: process.env.NOTIFICATION_TOPIC_ARN,
Message: JSON.stringify({ orderId: order.id, status: order.status })
}).promise();
}
};
5. Notification Service (SNS + Lambda + SES)
āđāļĄāļ·āđāļ Payment āļŠāļģāđāļĢāđāļ āļĢāļ°āļāļ Notification āļāļ°āļĢāļąāļ Event āļāļēāļ SNS āđāļĨāđāļ§āļŠāđāļāļāļĩāđāļĄāļĨāđāļāđāļāļāļđāđāđāļāđāļāđāļēāļ AWS SES
// notificationService.js
const AWS = require("aws-sdk");
const ses = new AWS.SES();
exports.handler = async (event) => {
for (const record of event.Records) {
const msg = JSON.parse(record.Sns.Message);
await ses.sendEmail({
Destination: { ToAddresses: ["[email protected]"] },
Message: {
Subject: { Data: `Order ${msg.orderId} confirmed` },
Body: { Text: { Data: `Your payment is ${msg.status}` } }
},
Source: "[email protected]"
}).promise();
}
};
6. āļāļēāļĢāđāļāđ SNS + SQS āļŠāļģāļŦāļĢāļąāļ Event-driven Communication
SNS āļāļģāļŦāļāđāļēāļāļĩāđāđāļāđāļ Publisher āļŠāđāļāļāđāļāļāļ§āļēāļĄāđāļāđāļ Event āđāļāļĒāļąāļāļŦāļĨāļēāļĒāļāļĢāļīāļāļēāļĢ āļŠāđāļ§āļ SQS āđāļāđāļāļāļīāļ§āļāļĩāđāļāđāļ§āļĒāđāļāđāļ Event āļāļąāđāļ§āļāļĢāļēāļ§āđāļāļ·āđāļāļāđāļāļāļāļąāļāļāļēāļĢāļŠāļđāļāļŦāļēāļĒāļāļāļāļāđāļāļĄāļđāļĨ āļĢāļ°āļāļāļāļĩāđāļāļķāļāļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāđāļāļ Asynchronous āđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ

7. āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļĢāļ°āļāļāļāđāļ§āļĒ CloudWatch
āđāļāđ Amazon CloudWatch āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļ Logs, Metrics āđāļĨāļ° Alarm āļāļāļ Lambda āđāļāļ·āđāļāđāļŦāđāļĄāļąāđāļāđāļāļ§āđāļēāļĢāļ°āļāļāļāļąāđāļāļŦāļĄāļāļāļģāļāļēāļāļāđāļāđāļāļ·āđāļāļāđāļĨāļ°āđāļĄāđāļĄāļĩ Error āđāļāļīāļāļāļķāđāļ
8. āļāđāļāļāļĩāļāļāļāļāļēāļĢāđāļāđ Microservice āļāļ AWS
- â āļāļĒāļēāļĒāļĢāļ°āļāļāđāļāđāļāđāļēāļĒ (Scalable)
- â āļĢāļ°āļāļāđāļĄāđāļĨāđāļĄāļāļĢāđāļāļĄāļāļąāļāļāļąāđāļāļŦāļĄāļ (Isolated Failure)
- â āļāļąāļāļāļēāđāļĨāļ° Deploy āđāļĒāļāļŠāđāļ§āļāđāļāđāļāļīāļŠāļĢāļ°
- â āđāļāđāļāđāļēāļĒāļāļēāļĄāļāļēāļĢāđāļāđāļāļēāļāļāļĢāļīāļ (Pay-as-you-go)
9. āļŠāļĢāļļāļāļ āļēāļāļĢāļ§āļĄāļāļēāļĢāļāļģāļāļēāļ
āļāļēāļ Case Study āļāļĩāđ āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļāļĢāļ°āļāļ E-commerce āļāļāļēāļāđāļĨāđāļāđāļāđāļāļĢāļāļāļĨāļąāļāļāļ AWS āđāļāđ āđāļāļĒāđāļāđāļāļĢāļīāļāļēāļĢāļāļĩāđāļĄāļĩāļāļĒāļđāđāđāļĨāđāļ§āđāļāļĒāđāļĄāđāļāđāļāļāļŠāļĢāđāļēāļāđāļāļīāļĢāđāļāđāļ§āļāļĢāđāđāļāļāđāļĨāļĒāđāļĄāđāđāļāđāđāļāļĢāļ·āđāļāļāđāļāļĩāļĒāļ§
ð§Đ āđāļāļĩāļĒāļāđāļāļĒ King Pool
āļ āļēāļāļāļĢāļ°āļāļāļ: Order, Payment, Notification, SNS, SQS, Lambda
āļāđāļēāļāļāđāļ: āļāļēāļĢ Integrate āļĢāļ°āļāļ Machine Learning āļāđāļ§āļĒ SageMaker āđāļĨāļ° Bedrock