🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش استقرار سرویسهای Spring Boot در AWS ECS Fargate با استفاده از AWS CDK
- آخرین آپدیت
دانلود Deploy Spring Boot services to AWS ECS Fargate with AWS CDK
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
آموزش جامع میکروسرویسها با AWS: ECS, CDK V2, Spring Boot V3 و Java 21
یک سفر جامع را آغاز کنید تا میکروسرویسهای قوی را با استفاده از AWS ECS، AWS CDK V2، Spring Boot V3 و Java 21 بسازید.
یاد بگیرید چگونه از SNS، SQS، DynamoDB، S3 و AWS SDK V2 استفاده کنید تا برنامههای کاربردی مقیاسپذیر و کارآمد ایجاد کنید.
این دوره شما را با تمام ابزارهای لازم برای ساخت میکروسرویسهای مبتنی بر جاوا و Spring Boot مجهز میکند و از قدرت زیرساخت AWS
بهعنوان کد (IaC) بهره میبرد.
آنچه در این دوره خواهید آموخت:
ساخت میکروسرویسها: ایجاد میکروسرویسها با Spring Boot V3 و Java 21، استفاده از AWS ECS و Fargate
(محاسبات Serverless برای کانتینرها).
زیرساخت به عنوان کد با AWS CDK V2: مدلسازی و تامین زیرساخت AWS با استفاده از AWS Cloud Development
Kit (CDK) V2 در جاوا.
AWS SDK V2 برای جاوا: دسترسی به منابع AWS با استفاده از AWS SDK V2 برای جاوا، یکپارچه با Spring Boot و کتابخانههای
JDK.
ساخت API با AWS API Gateway: ایجاد API با AWS API Gateway، با پارامترهای رشته جستجو و اعتبارسنجی بدنه
درخواست.
مدیریت زیرساخت با CloudFormation: سازماندهی منابع AWS در پشتهها با استفاده از AWS CloudFormation.
Fargate برای میکروسرویسها: ایجاد میکروسرویسها با استفاده از AWS Fargate بدون نیاز به ایجاد زیرساخت مانند
مواردی مانند ماشین.
خوشهبندی با AWS ECS: ایجاد خوشهها با سرویس AWS ECS برای کنترل اجرای وظایف برنامه.
پردازش فایل مبتنی بر رویداد با S3: استفاده از AWS S3 برای ایجاد مکانیسم پردازش فایل مبتنی بر رویداد، یکپارچه با
سرویسهای AWS ECS.
متعادلسازی بار با ALB: متعادل کردن درخواستها بین نمونههای برنامه با استفاده از سرویس AWS Application
Load Balancer.
مانیتورینگ میکروسرویسها با X-Ray: نظارت بر اجرای میکروسرویسها با AWS X-Ray.
امنیت شبکه با VPC: ایجاد subnetها و قوانین امنیتی شبکه با استفاده از AWS VPC برای محافظت از کانتینرهای
برنامه.
مانیتورینگ سلامت برنامه با Target Groups: نظارت بر سلامت برنامه با استفاده از AWS Target Groups، یکپارچه با
سرویسهای AWS ECS.
DynamoDB: ایجاد و کوئری جداول DynamoDB با کلیدهای اولیه ترکیبی، پیکربندی حالتهای provisioned و on-demand، و
نظارت بر مصرف.
لاگگیری و مانیتورینگ: مشاهده لاگها از میکروسرویسها در AWS CloudWatch Insights.
پیامرسانی با SNS و SQS: انتشار پیامها در موضوعات AWS SNS از طریق میکروسرویسها، مصرف پیامهای AWS SQS از
میکروسرویسها در Spring Boot، و فیلتر کردن پیامها.
پردازش فایل با S3 و SQS: وارد کردن فایلها با استفاده از AWS S3 و مصرف رویدادهای آن از صفهای AWS SQS.
ذخیرهسازی تصاویر Docker با ECR: ذخیره تصاویر Docker برنامه در مخازن خصوصی با استفاده از AWS ECR.
هشدارها با CloudWatch Alarms: نظارت بر لاگهای برنامه، پارامترها و رویدادهای منابع برای تولید هشدار با AWS
CloudWatch Alarms.
صف مرده با SQS: ایجاد یک موتور Dead-Letter Queue با AWS SQS.
کنترل هزینه با Cost Explorer: کنترل هزینهها از طریق تگهای منبع در AWS Cost Explorer.
کنترل دسترسی با IAM: کنترل مجوزهای دسترسی برای موارد خاص DynamoDB با سیاستهای AWS IAM.
پیش نیازها:
هیچ دانش قبلی از AWS لازم نیست.
برنامهنویسی شی گرا
سرویسهای REST
نیازی به نصب نرم افزار پولی برای دنبال کردن دوره نخواهید داشت.
حساب کاربری رایگان AWS.
درباره این دوره میکروسرویس ها
در این دوره شما چندین میکروسرویس را در Java 21 ایجاد خواهید کرد، با استفاده از فریم ورک
Spring Boot V3 و کانتینرهای Docker، یک برنامه بک اند ایجاد می کند تا با منابع Amazon Web Services
، همانطور که در زیر ذکر شده است، تعامل داشته باشد. این منابع در AWS با استفاده از AWS Cloud Development Kit
(CDK) V2، یک روش مدرن برای مدل سازی و ارائه زیرساخت ها در AWS ایجاد می شود. AWS CDK یکی از بهترین
زیرساخت ها به عنوان کد یا ابزارهای IaC برای AWS است.
Spring Boot V3 یک فریم ورک Java قدرتمند برای ساخت برنامه های سمت سرور با حاشیه نویسی ها،
کنترلرها، سرویس ها، رهگیرهای درخواست و موارد دیگر است.
این دوره منابع و ابزارهای AWS زیر را با تمرین های عملی پوشش می دهد:
AWS ECS:Elastic Container Service سرویس ارکستراسیون کانتینری AWS است. با
این سرویس می توان اجرای کانتینرهای میکروسرویس مبتنی بر Docker را به روشی قوی و مقیاس پذیر مدیریت کرد. و با
AWS Fargate، محاسبات Serverless برای کانتینرها از Amazon Web Services، نیازی به ایجاد نمونه های
EC2 نیست، در نتیجه هزینه عملیاتی برنامه های کاربردی مبتنی بر کانتینر کاهش می یابد.
AWS ECR: با Elastic Container Registry از AWS می توان مخازن خصوصی برای ذخیره تصاویر Docker
کانتینر میکروسرویس ایجاد کرد.
AWS VPC: با Virtual Private Cloud می توان زیرساخت را با زیر شبکه های خصوصی و سیاست های امنیتی
شبکه برای قوانین ترافیک ورودی و خروجی ایمن کرد.
AWS ALB: Application Load Balancer از AWS اجازه می دهد ترافیک ورودی HTTP بین تمام نمونه های
برنامه در دسترس متعادل شود و با گروه های هدف یکپارچه، هر نمونه می تواند نظارت شود تا فقط در صورت سالم بودن ترافیک
دریافت کند.
API Gateway REST: با API Gateway AWS می توان از REST API
برنامه محافظت کرد و همچنین پارامتر رشته جستجو و اعتبارسنجی بدنه درخواست ها را انجام داد.
CloudWatch Logs: مسئول متمرکز کردن گزارش های برنامه ها و معیارهای آن. برنامه هایی که در این دوره
ایجاد می شوند، گزارش ها را با فرمت JSON در CloudWatch Logs با استفاده از کتابخانه log4j2
تولید می کنند. به این ترتیب، می توانیم پارامترها را در گزارش ها وارد کنیم تا در کوئری ها در کنسول
AWS CloudWatch Logs Insights استفاده شوند.
CloudWatch Alarms: با هشدارهای CloudWatch می توان وقوعات غیرعادی از برنامه ها
و منابع AWS را نظارت کرد.
CloudWatch Container Insights: با Container Insights می توان اطلاعات نظارتی را
از برنامه های در حال اجرا در AWS ECS از جمله گزارش های آن جمع آوری کرد.
DynamoDB:DynamoDB یک پایگاه داده NoSQL و غیر رابطه ای قدرتمند است. این دوره
استفاده از مشتری بهبود یافته DynamoDB از AWS SDK V2 for Java را ارائه می دهد که
یک کتابخانه سطح بالا است که راهی برای نگاشت کلاس های سمت مشتری به جداول DynamoDB را امکان پذیر می کند.
SQS: SQS یا Simple Queue Service یک سرویس صف است که ارتباط ناهمزمان بین برنامه
ها را به منظور تبادل پیام ها و رویدادها امکان پذیر می کند.
SNS: با SNS یا Simple Notification Service می توان موضوعاتی ایجاد کرد و پیام هایی را
منتشر کرد که توسط چندین منبع و برنامه دریافت شوند.
S3: S3 یا Simple Storage Service دارای یک ذخیره سازی فایل بدون ارائه سرور
است. همچنین S3 هنگام اضافه شدن فایل ها به آن اعلان هایی ایجاد می کند.
X-Ray:AWS X-Ray سرویسی است که تجزیه و تحلیل و اشکال زدایی برنامه های توزیع شده
را امکان پذیر می کند.
IAM:Identity and Access Management از AWS مدیریت نقش ها و مجوزها را امکان
پذیر می کند که به کاربران و خدمات اعطا می شود تا به سایر منابع AWS دسترسی پیدا کنند.
AWS Cost Explorer: با Cost Explorer از AWS می توان نمودارهای هزینه در مورد
مصرف منابع را بر اساس انواع منابع و برچسب ها تولید کرد که می توانند برنامه ها و قطعات آنها را شناسایی کنند.
این منابع با استفاده از AWS Cloud Development Kit - CDK در AWS ایجاد می شوند، یک روش مدرن برای مدل سازی و ارائه
زیرساخت ها در AWS با استفاده از زبان Java. AWS CDK ایده آل است اگر می خواهید در DevOps
و در زمینه زیرساخت به عنوان کد کار کنید.
با این کار شما همچنین یاد خواهید گرفت که چگونه از AWS SDK V2 برای Java استفاده کنید، که مجموعه ای از
کتابخانه ها است که توسط خود AWS برای استفاده از خدمات آن توسعه یافته است.
AWS SDK V2 برای Java به طور کامل با فریم ورک Spring Boot V3 و با کتابخانه های
JDK 21 ادغام شده است، بنابراین دسترسی به منابع AWS به روشی ظریف بسیار آسان است و عملیاتی را برای
اجرا همزمان ایجاد می کند.
اگر از قبل گواهینامه AWS را دارید و به دنبال تجربه عملی هستید، می توانید آن را با این دوره، از طریق
تمریناتی که در اینجا ارائه می شود، دریافت کنید.
این دوره تعادل خوبی بین تمرین های نظری و عملی دارد. شما می توانید توضیحات مفصل با نمودارها و
پیاده سازی های به خوبی هدایت شده را همیشه با یک هدف مشخص انتظار داشته باشید.
توجه: این دوره برای آماده کردن شما برای امتحان گواهینامه AWS در نظر گرفته نشده است. دوره های دیگری نیز وجود دارند که
مختص گواهینامه های AWS هستند.
همچنین در بسته گنجانده شده است، هنگام خرید این دوره:
پشتیبانی دانشجویی، از طریق بخش پرسش و پاسخ پلتفرم.
کد منبع پروژه برای کمک به شما در ابتدای دوره.
آزمون ها برای آزمایش دانش شما در مورد موضوعات دوره.
تمرین های عملی برای اجازه دادن به شما برای تمرین، با راه حل های دقیق ارائه شده توسط مدرس.
درباره مدرس:
من روزانه با فناوری های ارائه شده در این دوره از سال 2016 کار کرده ام، و به عنوان توسعه دهنده
راه حل های میزبانی شده AWS فعالیت می کنم.
من تقریباً 10 سال است که استاد محاسبات ابری و موبایل از جمله AWS در یک دوره کارشناسی ارشد
بوده ام.
من کتاب هایی در این زمینه منتشر کرده ام.
من از سال 2020 بخشی از AWS Community Builder هستم، یک انجمن جهانی که توسط Amazon Web Services
ایجاد شده است.
اعتبارات برای موسیقی استفاده شده در ارائه دوره: Bensound - کد مجوز: 8XYDILY4RHGNN6VB
سرفصل ها و درس ها
مقدمه
Introduction
ارائه دوره
Course presentation
ارائه پروژه بکاند فروشگاه اینترنتی
ECommerce backend project presentation
مفاهیم AWS
AWS concepts
آمادهسازی اکانت AWS
Preparing the AWS account
آمادهسازی محیط توسعه
Preparing the development environment
تجزیه و تحلیل منابع ایجاد شده با استفاده از کنسول AWS
Analyzing the created resources using AWS console
[اختیاری] - نابود کردن زیرساخت برای صرفه جویی در هزینهها
[OPTIONAL] - Destroying the infrastructure to save costs
ایجاد AWS API Gateway با AWS CDK
Creating the AWS API Gateway with AWS CDK
مقدمهای بر AWS API Gateway
Introduction to AWS API Gateway
یکپارچهسازی بین API Gateway و سرویسهای AWS ECS از طریق AWS VPC Link
Integration between API Gateway and AWS ECS services through AWS VPC Link
ایجاد استک جدید برای منابع API Gateway
Creating the new stack for the API Gateway resources
ایجاد منبع API Gateway
Creating the API Gateway resource
ایجاد منبع محصولات و اولین متد آن
Creating the products resource and its first method
سازماندهی استکها
Organizing the stacks
تست یکپارچهسازی بین API Gateway و سرویس AWS ECS
Testing the integration between the API Gateway and the AWS ECS service
ایجاد جدول محصولات AWS DynamoDB با AWS CDK
Creating the AWS DynamoDB products table with AWS CDK
مقدمهای بر جداول AWS DynamoDB
Introduction to AWS DynamoDB tables
مفاهیم اساسی درباره جداول AWS DynamoDB
Basic concepts about AWS DynamoDB tables.
ایجاد جدول AWS DynamoDB با AWS CDK
Creating the AWS DynamoDB table with AWS CDK
اعطای مجوز به ProductsService برای دسترسی به جدول DynamoDB
Granting permission to ProductsService to access the DynamoDB table
ایجاد عملیات REST برای ایجاد محصولات جدید
Creating the REST operation to create new products
ایجاد عملیات REST برای بهروزرسانی یک محصول با ID آن
Creating the REST operation to update a product by its id
ایجاد عملیات REST برای دریافت یک محصول با ID آن
Creating the REST operation to get a product by its id
ایجاد عملیات REST برای حذف یک محصول با ID آن
Creating the REST operation to delete a product by its id
اضافه کردن وابستگیهای AWS SDK به پروژه ProductsService
Adding the AWS SDK dependencies to ProductsService project
ایجاد مدل محصولات برای نمایش آن در جدول DDB جدید
Creating the products model to represent it in the new DDB table
ایجاد کلاس پیکربندی DynamoDB
Creating the DynamoDB configuration class
ایجاد مخزن محصول
Creating the product repository
ایجاد متد برای یافتن تمام محصولات
Creating the method to find all products
ایجاد متد برای یافتن یک محصول با ID آن، با استفاده از کلید اصلی
Creating the method to find a product by its id, using the primary key
ایجاد متد برای ایجاد یک محصول جدید
Creating the method to create a new product
ایجاد متد برای حذف یک محصول
Creating the method to delete a product
ایجاد متد برای بهروزرسانی یک محصول
Creating the method to update a product
ایجاد DTO محصول
Creating the product DTO
ایجاد عملیات برای دریافت همه محصولات
Creating the operation to get all products
ایجاد عملیات برای دریافت یک محصول با ID آن
Creating the operation to get a product by its id
ایجاد عملیات برای ایجاد یک محصول جدید
Creating the operation to create a new product
ایجاد عملیات برای حذف یک محصول
Creating the operation to delete a product
ایجاد عملیات برای بهروزرسانی یک محصول
Creating the operation to update a product
اجرای استقرار برای تست پیادهسازی
Executing the deployment to test the implementation
استفاده از CloudWatch Logs برای تجزیه و تحلیل و رفع استثناها در سرویس محصولات
Using CloudWatch Logs to analyze and fix exceptions in our Products Service
اضافه کردن یک فیلد جدید به مدل محصولات
Adding a new field to the products model
تست پیادهسازی
Testing the implementation
ابزار دقیق AWS ECS سرویسها با AWS X-Ray
Instrumenting AWS ECS services with AWS X-Ray
مقدمهای بر AWS X-Ray
Introduction to AWS X-Ray
آمادهسازی پروژه ProductsService Spring Boot برای استفاده از AWS X-Ray
Preparing the ProductsService Spring Boot project to use the AWS X-Ray
ایجاد فایل قوانین نمونهبرداری
Creating the sampling rules file
ایجاد بازرس X-Ray
Creating the X-Ray inspector
اضافه کردن رهگیر X-Ray به کلاینت DynamoDB
Adding the X-Ray interceptor to the DynamoDB client
ابزار دقیق کنترلر محصولات
Instrumenting the products controller
اضافه کردن یک sidecar کانتینر X-Ray به تعریف تسک ProductsServices
Adding a X-Ray container sidecar to the ProductsServices task definition
درخت ناوبری کنسول AWS CloudWatch جدید
New AWS CloudWatch console navigation tree
تست پیادهسازی
Testing the implementation
تولید لاگهای AWS API Gateway
Generating AWS API Gateway logs
راهاندازی منبع AWS API Gateway برای تولید لاگها در AWS CloudWatch Logs
Setting up the AWS API Gateway resource to generate logs to AWS CloudWatch Logs
کنترل سطح لاگ برنامه و فرمت آن
Controlling the application log level and its format
گرفتن شناسه درخواست یکتا از AWS API Gateway با یک رهگیر
Capturing the unique request id from AWS API Gateway with an interceptor
ایجاد پیکربندی رهگیر
Creating the interceptor configuration
تولید لاگها در زمینه محصولات
Generating logs in the products context
ارسال شناسه درخواست یکتا با استفاده از AWS API Gateway
Forwarding the unique request identifier using the AWS API Gateway
تست پیادهسازی
Testing the implementation
نصیحت کنترلر Spring Boot با رسیدگی کنندههای استثنا
Spring Boot controller advice with exception handlers
استراتژی گرفتن استثناها با رسیدگی کنندههای استثنا
Strategy to capture exceptions with exception handlers
ایجاد یک enum برای نمایش خطاها
Creating an enum to represent the errors
ایجاد یک استثنا سفارشی
Creating a custom exception
ایجاد DTO پاسخ خطا
Creating the error response DTO
ایجاد رسیدگی کننده استثنا محصولات
Creating the products exception handler
تغییر عملیات کنترلر محصولات برای استفاده از استثنا سفارشی
Changing the products controller operations to use the custom exception
تست پیادهسازی
Testing the implementation
اعتبارسنجی بدنه درخواست AWS API Gateway
AWS API Gateway request body validation
مفاهیم اعتبارسنجی بدنه درخواست AWS API Gateway و چرایی استفاده از آنها
AWS API Gateway request body validation concepts and why they should be used
ایجاد اعتبارسنج محصول و مدل آن
Creating the product request validator and its model
اضافه کردن اعتبارسنج محصول به عملیات برای ایجاد یک محصول
Adding the product validator to the operation to create a product
تست پیادهسازی و تجزیه و تحلیل منبع AWS API Gateway
Testing the implementation and analyzing the AWS API Gateway resource
پرس و جوهای AWS DynamoDB با استفاده از Global Secondary Indexes
AWS DynamoDB queries using Global Secondary Indexes
مفاهیم AWS DynamoDB Global Secondary Index
AWS DynamoDB Global Secondary Index concepts
واحدهای ظرفیت خواندن و نوشتن AWS DynamoDB
AWS DynamoDB read and write capacity units
استراتژی استفاده از GSI در جدول محصولات DynamoDB
Strategy to use GSI in the products DynamoDB table
ایجاد GSI در جدول محصولات با استفاده از AWS CDK
Creating the GSI into the products table using AWS CDK
استفاده از حاشیه نویسی DynamoDbSecondaryPartitionKey
Using the DynamoDbSecondaryPartitionKey annotation
اضافه کردن کد محصول به عنوان یک پارامتر غیرضروری در منبع API Gateway
Adding the product code as a non-required parameter in the API Gateway resource
ایجاد یک متد برای بررسی وجود کد یک محصول
Creating a method to check if a product's code exists
دریافت یک محصول بر اساس کد آن
Getting a product by its code
بهروزرسانی متدهای ایجاد و بهروزرسانی برای بررسی ابتدا کد محصولات
Updating the creation and updating methods to check the products code first
تست پیادهسازی با AWS X-Ray
Testing implementation with AWS X-Ray
انتشار رویدادهای محصول با AWS SNS Topics
Publishing product events with AWS SNS topics
مفاهیم AWS SNS Topics
AWS SNS topics concepts
استراتژی استفاده از AWS SNS Topics در ProductsService
Strategy to use AWS SNS topics in ProductsService
مجوز دسترسی به یک SNS Topic
Permission to access a SNS topic
یکپارچهسازی بین SNS Topic و صفهای SQS
Integration between SNS topic and SQS queues
ایجاد AWS SNS Topic با استفاده از AWS CDK
Creating the AWS SNS topic using AWS CDK
اعطای مجوز به ProductsService برای انتشار پیامها به SNS Topic
Granting permission to ProductsService to publish messages to the SNS topic
ایجاد مدلهای رویداد محصول
Creating the product event models
ایجاد کلاینت SNS Topic با استفاده از AWS SDK
Creating the SNS topic client using the AWS SDK
ایجاد سرویس ناشر رویدادها، با استفاده از کلاینت SNS ایجاد شده
Creating the events publisher service, using the created SNS client
ایجاد متد برای انتشار رویدادهای محصول
Creating the method to publish product events
انتشار رویداد حذف محصول
Publishing the product deletion event
انتشار رویداد بهروزرسانی محصول
Publishing the product updating event
انتشار رویداد ایجاد محصول، به صورت ناهمگام.
Publishing the product creation event, in an asynchronous way.
تست پیادهسازی
Testing the implementation
ایجاد مدلهای رویداد شکست محصول
Creating the product failure event models
ایجاد متد برای انتشار رویداد شکست محصول
Creating the method to publish the product failure event
انتشار رویداد شکست محصول
Publishing the product failure event
تست پیادهسازی
Testing the implementation
ایجاد پروژه AuditService Spring Boot
Creating the AuditService Spring Boot project
استراتژی AuditService
The AuditService strategy
ایجاد پروژه AuditService Spring Boot
Creating the AuditService Spring Boot project
ایجاد Dockerfile
Creating the Dockerfile
آمادهسازی فایل build.gradle
Preparing the build.gradle file
ایجاد فایلهای پیکربندی
Creating the configuration files
ایجاد کلاس پیکربندی کلاینت DynamoDB
Creating the DynamoDB client configuration class
ایجاد کلاسهای پیکربندی کلاینت X-Ray
Creating the X-Ray client configuration classes
ایجاد یک مخزن ECR جدید
Creating a new ECR repository
آپلود اولین ایمیج داکر AuditService
Uploading the first AuditService Docker image
ایجاد استک AuditService با منابع اصلی آن
Creating the AuditService stack with its main resources
سازماندهی استک و استقرار آن
Organizing the stack and deploying it
تجزیه و تحلیل زیرساخت ایجاد شده
Analyzing the created infrastructure
[اختیاری] - نابود کردن زیرساخت برای صرفه جویی در هزینهها
[OPTIONAL] - Destroying the infrastructure to save costs
مصرف پیامهای AWS SQS
Consuming AWS SQS messages
مفاهیم صفهای AWS SQS
AWS SQS queues concepts
استراتژی رویدادهای محصول با استفاده از صفهای AWS SQS
Product events strategy using AWS SQS queues
ایجاد جدول DDB رویدادها با AWS CDK
Creating the events DDB table with AWS CDK
ایجاد مدل رویداد محصول
Creating the product event model
ایجاد مخزن رویداد محصول
Creating the product event repository
ایجاد متد برای ذخیره رویدادهای محصول
Creating the method to persist product events
ذخیره رویدادهای محصول از مصرف کننده آن
Persisting the product events from its consumer
ایجاد مدل رویداد شکست محصول
Creating the product failure event model
ایجاد مخزن رویداد شکست محصول
Creating the product failure event repository
ایجاد متد برای ذخیره رویدادهای شکست محصول
Creating the method to persist product failure events
ذخیره رویدادهای شکست محصول از مصرف کننده آن
Persisting the product failure events from its consumer
تست پیادهسازی
Testing the implementation
یکپارچهسازی AWS X-Ray و AWS SQS
AWS X-Ray and AWS SQS integration
چالشهای استفاده از AWS X-Ray در حین مصرف پیامها از صفهای AWS SQS
Challenges to use AWS X-Ray while consuming messages from AWS SQS queues
گرفتن سگمنتهای AWS X-Ray در مصرف کننده رویدادهای محصول
Capture AWS X-Ray segments in product events consumer
گرفتن سگمنتهای AWS X-Ray در مصرف کننده رویدادهای شکست محصول
Capture AWS X-Ray segments in product failure events consumer
تست پیادهسازی و بررسی ردیابیهای AWS X-Ray از مصرف کنندگان صف
Testing the implementation and checking AWS X-Ray traces from queue consumers
سرویسهای AWS ECS با مقیاس خودکار
AWS ECS services with auto scaling
استراتژی مقیاس خودکار در ProductsService و AuditServices
Auto scaling strategy in the ProductsService and AuditServices
فعال کردن مقیاس خودکار در ProductsService و AuditService
Enabling the auto scaling in the ProductsService and in the AuditService
استقرار تغییرات و تجزیه و تحلیل پیکربندی در کنسول ECS
Deploying the changes and analyzing the configuration in the ECS console
آمادهسازی ابزارهای تست بار
Preparing the load test tools
تجزیه و تحلیل اثرات تست بار
Analyzing the load test effects
حالت Provisioned AWS DynamoDB با مقیاس خودکار
AWS DynamoDB provisioned mode with auto scaling
مفاهیم حالت provisioned AWS DynamoDB با مقیاس خودکار
AWS DynamoDB provisioned mode with auto scaling concepts
تجزیه و تحلیل تست بار قبلی، از نظر معیارهای جدول DynamoDB
Analyzing the previous load test, in terms of the DynamoDB table metrics
فعال کردن مقیاس خودکار در جدول DDB محصولات
Enabling the auto scaling in the products DDB table
تست و تجزیه و تحلیل اثرات بر روی جداول DDB، سرویسهای ECS و صفهای SQS
Testing and analyzing the impacts on DDB tables, ECS services and SQS queues
جدول AWS DynamoDB در حالت On Demand
AWS DynamoDB table in on demand mode
مفاهیم جدول AWS DynamoDB در حالت On Demand
AWS DynamoDB table in on demand mode concepts
فعال کردن حالت On Demand در جدول DDB محصولات
Enabling the on demand mode in the products DDB table
تست و تجزیه و تحلیل اثرات بر روی جداول DDB، سرویسهای ECS و صفهای SQS
Testing and analyzing the impacts on DDB tables, ECS services and SQS queues
فعال کردن حالت On Demand در جدول DDB رویدادها
Enabling the on demand mode in the events DDB table
تست و تجزیه و تحلیل اثرات بر روی جداول DDB، سرویسهای ECS و صفهای SQS
Testing and analyzing the impacts on DDB tables, ECS services and SQS queues
پرس و جوها در جداول DynamoDB با استفاده از کلیدهای ترکیبی
Queries on DynamoDB tables using composite keys
استراتژی استفاده از کلیدهای اصلی ترکیبی برای پرس و جوها
Strategy of using composite primary keys for queries
ایجاد DTO رویداد محصول برای API رویدادها
Creating the product event DTO for the events API
اضافه کردن متد برای پرس و جوی محصولات بر اساس نوع رویداد، با صفحه بندی
Adding the method to query products by event type, with pagination
اضافه کردن متد برای پرس و جوی محصولات بر اساس نوع رویداد و محدوده زمانی، و صفحه بندی
Adding the method to query products by event type and time range, and pagination
ایجاد کنترلر رویدادهای محصول
Creating the product events controller
ابزار دقیق عملیات پرس و جوی کلید اصلی ترکیبی با استفاده از AWS X-Ray
Instrumenting the composite primary key query operations using AWS X-Ray
ایجاد منبع رویدادهای محصول در API Gateway
Creating the product events resource in the API Gateway
تست پیادهسازی
Testing the implementation
ایجاد پروژه InvoicesService Spring Boot
Creating the InvoicesService Spring Boot project
استراتژی InvoicesService
The InvoicesService strategy
ایجاد پروژه InvoicesService Spring Boot
Creating the InvoicesService Spring Boot project
آمادهسازی فایل Dockerfile و build.gradle
Preparing the Dockerfile and the build.gradle file
ایجاد فایلهای پیکربندی
Creating the configuration files
ایجاد کلاس پیکربندی کلاینت DynamoDB
Creating the DynamoDB client configuration class
ایجاد کلاسهای پیکربندی کلاینت X-Ray
Creating the X-Ray client configuration classes
ایجاد یک مخزن ECR جدید
Creating a new ECR repository
آپلود اولین ایمیج داکر InvoicesService
Uploading the first InvoicesService Docker image
ایجاد استک InvoicesService با منابع اصلی آن
Creating the InvoicesService stack with its main resources
سازماندهی استک و استقرار آن
Organizing the stack and deploying it
تجزیه و تحلیل زیرساخت ایجاد شده
Analyzing the created infrastructure
[اختیاری] - نابود کردن زیرساخت برای صرفه جویی در هزینهها
[OPTIONAL] - Destroying the infrastructure to save costs
پردازش فایل مبتنی بر رویداد با AWS S3
Event-based file processing with AWS S3
مقدمهای بر AWS S3
AWS S3 introduction
استراتژی پردازش فایل با استفاده از باکت AWS S3
Strategy to process file using the AWS S3 bucket
ایجاد جدول DynamoDB فاکتورها
Creating the invoices DynamoDB table
ایجاد باکت AWS S3 با AWS CDK
Creating the AWS S3 bucket with the AWS CDK
ایجاد صف AWS SQS برای دریافت اعلان از باکت AWS S3
Creating the AWS SQS queue to receive the notification from the AWS S3 bucket
پیکربندی اعلان رویداد باکت S3 به این صف
Configuring the S3 bucket event notification to this queue
ایجاد منبع فاکتور در AWS API Gateway
Creating the invoice resource in the AWS API Gateway
ایجاد عملیات برای بررسی تراکنش فایل فاکتور
Creating the operation to check the invoice file transaction
ایجاد عملیات برای دریافت تمام فاکتورها از ایمیل یک مشتری
Creating the operation to get all invoices from a customer email
بررسی زیرساخت ایجاد شده
Checking the created infrastructure
ایجاد کلاس پیکربندی کلاینت S3
Creating the S3 client configuration class
ایجاد مدل پاسخ URL از پیش امضا شده
Creating the pre-signed URL response model
ایجاد سرویس فاکتورها
Creating the invoices service
ایجاد متد برای تولید URL از پیش امضا شده برای دسترسی به باکت AWS S3
Creating the method to generate the pre-signed URL to access the AWS S3 bucket
ایجاد مدل تراکنش فایل فاکتور
Creating the invoice file transaction model
ایجاد مخزن تراکنش فایل فاکتور
Creating the invoice file transaction repository
ایجاد متد برای ذخیره یک تراکنش فایل فاکتور
Creating the method to persist an invoice file transaction
ایجاد متد برای بهروزرسانی یک تراکنش فایل فاکتور
Creating the method to update an invoice file transaction
ایجاد متد برای دریافت یک تراکنش فایل فاکتور
Creating the method to get an invoice file transaction
ایجاد intercetor درخواست
Creating the request intercetor
پیکربندی رهگیر درخواست
Configuring the request interceptor
ایجاد کنترلر فاکتورها
Creating the invoices controller
ایجاد عملیات برای تولید URL از پیش امضا شده
Creating the operation to generate the pre-signed URL
تست پیادهسازی
Testing the implementation
ایجاد مصرف کننده اعلان فاکتور S3
Creating the S3 invoice notification consumer
ایجاد متد برای حذف پیامهای SQS
Creating the method to delete SQS messages
ایجاد متد برای مصرف پیامهای SQS
Creating the method to consume SQS messages
ایجاد متد برای پردازش رکوردهای اعلان رویداد S3
Creating the method to process the S3 event notification records
تست پیادهسازی
Testing the implementation
ایجاد DTO فایل فاکتور
Creating the invoice file DTO
ایجاد مدل تراکنش فاکتور
Creating the invoice transaction model
ایجاد مخزن تراکنش فاکتور
Creating the invoice transaction repository
ایجاد متد برای ذخیره یک تراکنش فاکتور
Creating the method to persist an invoice transaction
ایجاد مدل فاکتور
Creating the invoice model
ایجاد مخزن فاکتور
Creating the invoice repository
ایجاد متد برای ذخیره یک فاکتور
Creating the method to persist an invoice
ایجاد متد برای دریافت تمام فاکتورها از یک مشتری بر اساس ایمیل او
Creating the method to get all invoices from a customer by his email
ایجاد متد برای پردازش یک فاکتور
Creating the method to process an invoice
تست پیادهسازی
Testing the implementation
ایجاد متد برای بررسی یک تراکنش فایل فاکتور بر اساس transactionId آن
Creating the method to check an invoice file transaction by its transactionId
ایجاد DTO فاکتور برای استفاده توسط API جدید
Creating the invoice DTO to be used by the new API
ایجاد عملیات برای دریافت تمام فاکتورها از یک مشتری، با استفاده از ایمیل او
Creating the operation to get all invoices from a customer, using his email
تست پیادهسازی
Testing the implementation
تست با یک فایل فاکتور نامعتبر
Testing with an invalid invoice file
تست قانون چرخه عمر باکت AWS S3
Testing the AWS S3 bucket lifecycle rule
آلارمهای AWS CloudWatch
AWS CloudWatch Alarms
استراتژی تولید آلارم بر اساس لاگهای برنامه
Strategy to generate alarms based on application logs
ایجاد آلارم AWS CloudWatch برای نظارت بر لاگ خطای برنامه
Creating the AWS CloudWatch alarm to monitor the application error log
استراتژی تولید آلارم بر اساس پارامترهای زیرساخت
Strategy to generate alarms based on infrastructure parameters
ایجاد آلارم برای نظارت بر تعداد رویدادهای throttled از DDB رویدادها
Creating the alarm to monitor the number of throttled events from the events DDB
تست آلارم بر اساس لاگهای برنامه
Testing the alarm based on application logs
تست آلارم بر اساس پارامتر زیرساخت
Testing the alarm based on infrastructure parameter
AWS Cost Explorer
AWS Cost Explorer
مفاهیم AWS Cost Explorer
AWS Cost Explorer concepts
تجزیه و تحلیل نمودارها و گزارشهای AWS Cost Explorer
Analyzing the AWS Cost Explorer graphs and reports
نمایش نظرات