عينة AWS AppConfig Java
V2-2024
ملخص
هذا المشروع هو عرض تجريبي لوكيل مطور Amazon Q لتحويل الكود. هذا هو تطبيق Microservice المستند إلى Java 1.8 والذي يعرض قائمة مجانية من الأفلام لهذا الشهر بناءً على التكوين المخزن في خدمة AWS AppConfig باستخدام AWS SDK. تم فتح هذا التطبيق لأول مرة في عام 2020 ويستخدم الإصدارات القديمة من المكتبات مثل Spring Boot 2.x و Log4J 2.13.x و Mockito 1.x و Javax و Junit 4.
يمكن لـ Amazon Q Developer Agent لتحويل التعليمات البرمجية ترقية إصدار لغة الكود من ملفاتك في مكانه. يمكنك تحويل الوحدة النمطية في JetBrains ومشروع أو مساحة عمل كاملة في Visual Studio Code. تقوم Amazon Q أولاً بإنشاء الكود الخاص بك في إصدار لغة المصدر ويتحقق من أنه يحتوي على المعلومات اللازمة لتحويل التعليمات البرمجية الخاصة بك. بعد أن تقوم Amazon Q بنجاح بتحويل الكود الخاص بك ، يمكنك التحقق من التغييرات في بيئة التطوير المتكاملة (IDE) وتقبلها. لمزيد من المعلومات ، راجع كيفية عمل Amazon Q Developer For Code Transformation. في الوقت الحالي ، يمكن لـ Amazon Q ترقية كود Java 8 و Java 11 إلى كود Java 17.
ارجع إلى دليل البدء و 3 طرق كيف يقوم Amazon Q Developer Agent بتحويل الكود بتسريع ترقيات Java الخاصة بك.
تعليمات التثبيت
محلي
- تجميع التطبيق في IDE المحلي
- افتح محطة جديدة واكتب
java -jar .targetmovie-service-0.1.0.jar - اتبع القسم 1 في قسم AWS أدناه لإعداد تكوين AppConfig في ملف تعريف حساب AWS الافتراضي الخاص بك
- افتح متصفحًا وانتقل إلى http: // localhost: 8080/أفلام/getMovies
- يجب أن تكون قادرًا على رؤية قائمة الأفلام المدفوعة
AWS
الخطوة 1: إنشاء التطبيق والبيئات وملف تعريف التكوين في AWS AppConfig
- افتح وحدة AWS Systems Manager.
- في جزء التنقل الأيسر ، اختر AWS AppConfig وانقر فوق "بدء التشغيل"
- في حالة ظهور صفحة الترحيب AWS AppConfig ، انقر فوق إنشاء تطبيق على التنقل الأيسر.
- للاسم ، أدخل اسم التطبيق. ( MyContainerApplication ) يمكنك إضافة وصف اختياري وتطبيق العلامات على التطبيق. اختر إنشاء تطبيق.
- بعد إنشاء التطبيق ، يتم توجيهك إلى صفحة ذات بيئات وملفات تعريف التكوين ، اختر إنشاء بيئة ، ثم أدخل اسمًا ( MyContainerApplicationProductionEnvironment ) والوصف الاختياري للبيئة. يمكنك أيضًا إضافة علامات وتكوين أجهزة الإنذار Amazon CloudWatch لهذه البيئة اختياريًا.
- في الملاحة العليا ، اختر اسم التطبيق ، وعلى ملفات التعريف وعلامات التكوين وعلامات الميزات ، اختر إنشاء ملف تعريف التكوين وتكوين FreeForm.
- أدخل اسمًا ( myContainerApplicationConfigurationProfile ) والوصف الاختياري لملف تعريف التكوين.
- ضمن مصدر التكوين ، اختر AWS AppConfig Configuration.unding المحتوى ، واختر JSON ، واضغط على المحتوى التالي ، ثم اختر التالي.
{
"movies": [
{
"id": 1,
"movieName": "The Shawshank Redemption"
},
{
"id": 2,
"movieName": "City of God"
},
{
"id": 3,
"movieName": "Memento"
},
{
"id": 4,
"movieName": "The Intouchables"
},
{
"id": 5,
"movieName": "Stardust"
},
{
"id": 6,
"movieName": "Apocalypto"
},
{
"id": 7,
"movieName": "Taxi Driver"
},
{
"id": 8,
"movieName": "No Country for Old Men"
},
{
"id": 9,
"movieName": "Planet 51"
},
{
"id": 10,
"movieName": "The Beach"
}
]
}
- (اختياري) يمكنك إضافة مصادقة للتحقق من صحة التكوين. للحصول على معلومات ، تحقق من المدققات في وثائق AWS AppConfig.
- اختر إنشاء ملف تعريف التكوين.
- اختر بدء النشر.
- اختر البيئة ، وإصدار التكوين المستضافة ، واستراتيجية النشر ، ووصف اختياري لبدء عملية النشر.
- لإنشاء استراتيجية نشر مخصصة ، اختر إنشاء استراتيجية نشر. أو اختر واحدة من استراتيجيات النشر المحددة مسبقًا التي توفرها AWS AppConfig. لمزيد من المعلومات ، تحقق من إنشاء استراتيجية نشر في وثائق AWS AppConfig. لأغراض هذا المنشور ، اخترنا استراتيجية نشر AppConfig.Linear5perCentevery30Seconds .
ملاحظة: بناءً على استراتيجية النشر التي حددتها ، قد تستغرق هذه العملية بضع دقائق لإكمالها. التكوين متاح للتطبيق بمجرد اكتمال حالة النشر.
** v1 - 2020 **
ملاحظة: استخدم هذا الإصدار فقط إذا كنت ترغب في تجربة الميزات ذات الصلة AppConnFig.
ملخص
هذا عرض تجريبي لتطبيق APPConfig java كما هو موضح في نشر تكوين تطبيق المدونة على أحمال عمل الحاويات باستخدام AWS AppConfig. يوضح هذا العرض التوضيحي كيفية دمج تطبيق Java Microservices مع خدمة AWS AppConfig جنبًا إلى جنب مع تنفيذ ذاكرة التخزين المؤقت في الذاكرة لإدارة تكوين التطبيق بكفاءة.
يساعد AWS AppConfig العملاء AWS على طرح تكوينات التطبيق بسرعة عبر التطبيقات المستضافة على مثيلات EC2 ، والحاويات ، و AWS lambda ، وتطبيقات الهاتف المحمول ، وأجهزة إنترنت الأشياء ، والخوادم المحلية بطريقة تم التحقق منها ، والتحكم فيها والمراقبة.
يشرح هذا الرمز النموذج
- كيفية فصل تكوين التطبيق عن رمز التطبيق للتطبيق المعتمد.
- استخدم AWS AppConfig لإدارة ونشر تكوين التطبيق.
- كيفية أتمتة وإدارة تكوينات التطبيق بكفاءة في تطبيق حاوية.
يستخدم هذا العرض التوضيحي قوالب CloudFormation لنشر مجموعة خدمة الحاويات المرنة Amazon ومهمة AWS Fargate. سيقوم المستخدمون باستنساخ هذا المستودع ، وإنشاء صورة Docker وضغط على سجل حاوية Amazon المرن والتفاعل مع خدمة AWS AppConfig.
يحتوي هذا التطبيق على طبقة تخزين مؤقت مدمجة في ذاكرة التخزين المؤقت للاستجابات من خدمة AWS AppConfig. تقوم المكالمات اللاحقة لجلب قيمة التكوين بالتحقق من ذاكرة التخزين المؤقت أولاً وإرجاع الاستجابة من ذاكرة التخزين المؤقت. إذا كانت ذاكرة التخزين المؤقت فارغة ، فسيقوم بإجراء مكالمة إلى AWS AppConfig API لجلب القيمة. يعتمد انتهاء ذاكرة التخزين المؤقت على مجموعة TTL في الخصائص.
تعليمات التثبيت
محلي
- تجميع التطبيق في IDE المحلي
- افتح محطة جديدة واكتب
java -jar .targetmovie-service-0.1.0.jar - اتبع القسم 1 في قسم AWS أدناه لإعداد تكوين AppConfig في ملف تعريف حساب AWS الافتراضي الخاص بك
- افتح متصفحًا وانتقل إلى http: // localhost: 8080/أفلام/getMovies
- يجب أن تكون قادرًا على مشاهدة قائمة من 5 أفلام مدفوعة
AWS
الخطوة 1: إنشاء التطبيق والبيئات وملف تعريف التكوين في AWS AppConfig
- افتح وحدة AWS Systems Manager.
- في جزء التنقل الأيسر ، اختر AWS AppConfig.
- إذا ظهرت صفحة الترحيب AWS AppConfig ، فانقر فوق إنشاء بيانات التكوين. خلاف ذلك ، انقر فوق إنشاء تطبيق.
- للاسم ، أدخل اسم التطبيق. ( MyContainerApplication ) يمكنك إضافة وصف اختياري وتطبيق العلامات على التطبيق. اختر إنشاء تطبيق.
- بعد إنشاء التطبيق ، يتم توجيهك إلى صفحة ذات بيئات وملفات تعريف التكوين ، اختر إنشاء بيئة ، ثم أدخل اسمًا ( MyContainerApplicationProductionEnvironment ) والوصف الاختياري للبيئة. يمكنك أيضًا إضافة علامات وتكوين أجهزة الإنذار Amazon CloudWatch لهذه البيئة اختياريًا.
- في الملاحة العليا ، اختر اسم التطبيق ، وعلى علامة التبويب ملفات تعريف التكوين ، اختر إنشاء ملف تعريف التكوين.
- أدخل اسمًا ( myContainerApplicationConfigurationProfile ) والوصف الاختياري لملف تعريف التكوين.
- ضمن مصدر التكوين ، اختر AWS AppConfig Configuration.unding المحتوى ، واختر JSON ، واضغط على المحتوى التالي ، ثم اختر التالي.
{
"boolEnableFeature": true,
"intItemLimit": 5
}
- (اختياري) يمكنك إضافة مصادقة للتحقق من صحة التكوين. للحصول على معلومات ، تحقق من المدققات في وثائق AWS AppConfig.
- اختر إنشاء ملف تعريف التكوين.
- اختر بدء النشر.
- اختر البيئة ، وإصدار التكوين المستضافة ، واستراتيجية النشر ، ووصف اختياري لبدء عملية النشر.
- لإنشاء استراتيجية نشر مخصصة ، اختر إنشاء استراتيجية نشر. أو اختر واحدة من استراتيجيات النشر المحددة مسبقًا التي توفرها AWS AppConfig. لمزيد من المعلومات ، تحقق من إنشاء استراتيجية نشر في وثائق AWS AppConfig. لأغراض هذا المنشور ، اخترنا استراتيجية نشر AppConfig.Linear5perCentevery30Seconds .
ملاحظة: بناءً على استراتيجية النشر التي حددتها ، قد تستغرق هذه العملية بضع دقائق لإكمالها. التكوين متاح للتطبيق بمجرد اكتمال حالة النشر.
الخطوة 2: قم بإعداد التطبيق الأساسي باستخدام Amazon ECS و Amazon ECR ومكونات الشبكة المرتبطة باستخدام AWS CloudFormation
- افتح CloudFormation Console وانقر على "إنشاء مكدس" ، وتحديد خيار "مع موارد جديدة".
- في الشاشة التالية ، ضمن قسم "تحديد القالب" ، اختر "ملف تحميل ملف" ، وقم بتوفير الملف الذي قمت بتنزيله من repo /templates/ecs-cluster.yml.
- انقر فوق التالي ، أعط المكدس اسمًا مثل "ecscluster-dev" ، واختر Dev كقيمة لمعلمة البيئة. انقر بعد ذلك ، حدد علاماتك اختياريًا ، وانقر فوق التالي مرة أخرى. على الشاشة الأخيرة ، لا تنسَ وضع علامة تحديد خانة الاختيار في قسم "القدرات" ، ثم انقر أخيرًا على زر "إنشاء مكدس".
الخطوة 3: استنساخ مستودع التعليمات البرمجية ، وإنشاء حاوية Docker ، ونشر إلى Amazon ECR
- غيت استنساخ هذا المستودع
- انتقل إلى وحدة التحكم في سجل الحاويات المرن Amazon ، انقر فوق المستودع الذي قمت بإنشائه وانقر فوق أوامر العرض.
- انتقل إلى مستودع التعليمات البرمجية في موجه الأوامر وقم بتنفيذ أوامر الدفع لتحميل المشروع.
- عند اكتمال التحميل ، انسخ عنوان URL للصورة في المستودع. استخدم عنوان URL هذا كمعلمة إدخال (ImageUrl) إلى قالب AWS CloudFormation المذكور في القسم التالي.
الخطوة 4: إنشاء مهمة Fargate ونشر تطبيق الحاوية في Amazon ECS على AWS Fargate باستخدام AWS CloudFormation
- افتح CloudFormation Console وانقر على "إنشاء مكدس" ، وتحديد خيار "مع موارد جديدة".
- في الشاشة التالية ، ضمن قسم "تحديد القالب" ، اختر "ملف تحميل ملف" ، وقم بتوفير الملف الذي قمت بتنزيله من repo /templates/fargate-task.yml.
- انقر فوق التالي ، أعط اسمًا إلى المكدس مثل "Fargate-Task-Dev". اختر "dev" كقيمة لمعلمة البيئة.
- قم بتوفير عنوان URL الذي تم الحصول عليه في الخطوة السابقة لمعلمة ImageUrl واترك بقية المعلمات على أنها افتراضية.
- انقر فوق التالي وتحديد العلامات الخاصة بك اختياريا. انقر فوق التالي مرة أخرى. على الشاشة الأخيرة ، لا تنسَ وضع علامة تحديد خانة الاختيار في قسم "القدرات" ، ثم انقر أخيرًا على زر "إنشاء مكدس".
الخطوة 5: تحقق من التطبيق المنشور ، وتحديث بيانات تكوين AppConfig ، ونشر التكوين المحدث
- انتقل إلى وحدة التحكم في AWS CloudFormation وافتح مكدس Fargate-Task-DEV الذي قمت بإنشائه
- انقر على المخرجات ونسخ externalurl لـ loadbalancer
- تحقق من التطبيق باستخدام عنوان URL الخارجي لموازن التحميل. http: // externalurl/movies/getMovies
- بعد ذلك ، سنقوم بتغيير قيمة التكوين في AWS AppConfig ونرى كيف سيتم انعكاسها في تطبيق الحاوية.
- افتح وحدة تحكم AWS AppConfig ، انقر فوق التطبيق الخاص بك وانتقل إلى علامة تبويب ملفات تعريف التكوين وانقر فوق ملف تعريف التكوين الذي أنشأته
- انقر فوق إنشاء إصدارات تكوين مستضافة ، وسيؤدي ذلك إلى فتح شاشة جديدة حيث يمكنك تحرير بيانات التكوين.
- قم بتحرير قيمة التكوين وانقر فوق إنشاء زر إصدار تكوين مستضافة.
- بعد ذلك ، انقر فوق "بدء النشر" واختر البيئة ، وأحدث إصدار تكوين مستضاف ، واستراتيجية النشر ووصفًا اختياريًا لبدء عملية النشر.
- بمجرد اكتمال النشر ، تفضل بزيارة عنوان URL للتطبيق مرة أخرى لرؤية التغييرات المنعكسة على الفور.
- لاحظ أن هذا التغيير لم يتطلب إعادة تشغيل تطبيق الحاوية لأن التطبيق استرجع القيمة المحدثة في المكالمة اللاحقة إلى AWS AppConfig.
تنظيف
احذف جميع الموارد التي تم إنشاؤها خلال هذه العملية ومنع تكاليف إضافية.
AppConfig
- التكوين المستضافة
- ملف تعريف التكوين
- بيئة
- طلب
تطبيق الحاوية الأساسية ومهمة Fargate
- انتقل إلى وحدة التحكم السحابية AWS
- حدد مكدس Fargate-Task-Dev وانقر فوق حذف
- حدد مكدس ecscluster-dev وانقر فوق حذف
رخصة
تم ترخيص رمز العينة هذا بموجب ترخيص MIT-0. انظر ملف الترخيص.