مفتاح انتصار النظام الإيكولوجي AO: بنية الخدمات الصغيرة في عصر Web3

المؤلف: Arweaveoasis ، المصدر: بيرمداو

本文讨论了采用微服务架构(或者说 Actor 模型)的优势,分析了它为应用开发带来的一定程度上合乎逻辑的复杂性。

@aoTheComputer 的发布无疑给整个 @ArweaveEco 生态乃至于整个 Web3 行业带来了一种全新的思考与实践。لا ينعكس هذا فقط في انتباه غالبية المستثمرين ، ولكن أيضًا في جذب عدد كبير من المطورين ذوي الجودة العالية لبدء البحث المتعمق.

ما الذي يعيق التبني الهائل لـ Web3؟

الأمر بسيط للغاية ، لأن هناك عدد قليل جدًا من التطبيقات اللامركزية التي تستحق استخدامها.

استنادًا إلى الوضع الحالي للبنية التحتية لـ Web3 ، وأدوات التطوير ، وممارسات هندسة البرمجيات ، وما إلى ذلك ، من المستحيل تقريبًا تحقيق العديد من أنواع التطبيقات اللامركزية في الوقت الحالي.

من حيث البنية التحتية ، أعتقد أن ظهور AO يملأ بعض الفجوات الرئيسية.ومع ذلك ، فإن تعقيد المشروع لبناء تطبيقات لا مركزية واسعة النطاق لا يزال أمرًا شاقًا.هذا يجعل من المستحيل بالنسبة لنا تطوير اللامركزية الأكثر تنوعًا وأكبر وغالبًا ما يكون أكثر وظيفية عندما تكون الموارد مقيدة – عادةً في المراحل الأولية لتطوير الأشياء – لتطوير تطبيق أكثر تنوعًا وأكبر وأكثر وظيفية.

لا تؤمن بهذه الكلمات الهراء مثل “العقود الذكية/البرامج على السلسلة يجب أن تكون بسيطة للغاية ، فليست هناك حاجة لجعلها معقدة للغاية”!

المشكلة الحقيقية ليست “لا تريد” ، ولكن “لا” – لا يمكنني فعل ذلك.

AO هو نظام كمبيوتر يعمل على Arweave ، مصمم لتحقيق قوة حوسبة غير محدودة يمكن التحقق منها.هذا هو الاسم القصير للممثل الموجهة.كما يوحي الاسم ، هذا يعني أن التطبيقات اللامركزية التي تعمل على AO تتطلب طرق التصميم والبرمجة بناءً على نموذج الممثل.

في الواقع ، لم يكن AO أول من استخدم نموذج الممثل لـ blockchain (أو “البنية التحتية اللامركزية”).على سبيل المثال ، تم تصميم عقد Ton Smart باستخدام نموذج الممثل.الحديث عن Ton ، أنا شخصياً أعتقد أن لديها أوجه تشابه مع AO في بعض النواحي.

بالنسبة لمطوري Web2 الذين لم يحصلوا بعد على فهم عميق لـ Web3 ، إذا كنت تريد أن تفهم بسرعة أكبر ميزة AO أو Ton مقارنة بـ “blockchains المتجانسة” الأخرى ، وهي طريقة مريحة لتشغيل العقود الذكية عليها (السلسلة) (سلسلة) (سلسلة) ( الجزء 1) يعتبر “الخدمات الدقيقة”.而 AO 或 TON 是支持这些微服务运行的基础设施,比如 Kafka、Kubernetes 等。

بصفتي صبيًا كبيرًا في Crud الذي ركز على تطوير التطبيقات لأكثر من 20 عامًا ، أنا شخصياً سعيد جدًا برؤية ظهور البنوك غير الحركية مثل AO و Ton ، وهي مليئة بالتوقعات لتطويرها.أدناه أود أن أتحدث عن آرائي على AO من منظور مطور التطبيق.ربما يشعر بعض مطوري التطبيقات بالاستياء ، وهذا يكفي.

هل من الضروري حقًا تطبيق نموذج الممثل على blockchain؟

الجواب نعم.انظر إلى تطبيقات Web2 التي حققت “اعتماد هائل” وسترى.

يعرف الكثير من المهندسين المعماريين بالفعل كيفية “إنشاء تطبيقات Web2 Big”: بنية الخدمات الصغيرة (MSA) ، والهندسة المعمارية التي تعتمد على الأحداث (EDA) ، وآلية اتصال الرسائل ، ونموذج الاتساق النهائي ، والتشويش … بغض النظر عن ما يسمى ، يتعايش دائمًا مع نموذج الممثل.يمكن أن يقال بعض هذه المفاهيم أنها مجرد جوانب مختلفة لشيء ما.لذلك في النص التالي ، لا نميز بين “الخدمات المجهرية” والممثل ، يمكنك التفكير فيها كمرادفات.

إن ازدهار الإنترنت اليوم لا ينفصل عن حكمة هؤلاء المهندسين المعماريين.يستكشفون باستمرار ويمارس ويلخصون ، وأخيراً شكلوا نظام ممارسة هندسي كامل.

كبنية تحتية لـ Web3 ، تقوم AO بعمل رائع.على الأقل ، أظهر AO إمكانات كبيرة كأفضل وسيط رسائل لا مركزية في حقل Web3 الحالي (في عيني).أعتقد أن مطوري تطبيقات Web2 التقليدية يمكن أن يفهموا على الفور أهمية هذا: إذا لم يكن سمسار الرسائل التي تشبه كافكا أو كافكا متوفرة ، هل يمكنك أن تتخيل عدد تطبيقات الإنترنت الكبيرة التي لديها الآن “كيفية كتابة البرامج”؟

على الرغم من أن نموذج الممثل له مزايا نظرية في العديد من الجوانب ، سواء كان ذلك هو نموذج الممثل أو بنية الخدمات الدقيقة ، في رأيي ، من المشكلات التي يتعين على المطورين تطويرها بعض التطبيقات (وخاصة التطبيقات الكبيرة) من أجل تطوير تطبيقات معينة (especially large applications). The “pain” to bear.

让我们用一个简单的例子来向非技术读者说明这一点。لنفترض أن جميع البنوك في العالم تتصرف أعمالًا بناءً على “كمبيوتر عالمي” ، وهذا الكمبيوتر العالمي هو نظام متراصة.ثم ، عندما يحول عميل ICBC “Zhang San” 100 يوان إلى “Li Si” الذي يفتح حسابًا في بنك الصين التجار ، يمكن للمطور كتابة رمز برنامج النقل مثل هذا:

1. ابدأ معاملة (أو “المعاملات” ، والتي هي نفس الكلمة باللغة الإنجليزية) ؛

2. خصم 100 يوان من حساب Zhang San ؛

3. أضف 100 يوان إلى حساب Li Si ؛

4. إرسال المعاملات.

بغض النظر عن خطوة هناك مشكلة في الخطوات المذكورة أعلاه ، على سبيل المثال ، الخطوة الثالثة ، والتي تزيد من حساب Li Si.بالمناسبة ، عند كتابة برامج مثل هذا ، نسمي استخدام نموذج “الاتساق القوي”.

ماذا لو كانت أجهزة الكمبيوتر في هذا العالم هي أنظمة تتبنى بنية الخدمات الصغيرة (MSA)؟

بعد ذلك ، من غير المرجح أن تكون الخدمات المجهرية (أو الممثل) التي تدير حساب ICBC هي نفسها الخدمات المجهرية التي تدير الحساب المصرفي للتجار الصيني.دعنا نفترض أولاً أنها ليست هي نفسها.في هذا الوقت ، قد يحتاج المطور إلى كتابة رمز النقل مثل هذا:

1. الممثل ICBC يسجل أولاً المعلومات التالية: “يقوم Zhang San Transfer 100 Yuan to Li Si”. ؛

2. تلقى الممثل CMB رسالة ، مضيفًا 100 يوان إلى حساب Li Si ، ثم أرسل رسالة إلى الممثل ICBC ، “لقد تلقى Li Si 100 يوان نقلها Zhang San” ؛

3. تلقى الممثل ICBC الرسالة وسجلها: “نقل Zhang San 100 يوان إلى Li Si ، وقد نجحت”.

ما سبق هو مجرد عملية “كل شيء على ما يرام”.ولكن ماذا لو كانت خطوة معينة ، مثل الخطوة الثانية ، “أضف 100 يوان إلى حساب Li Si” ، وهناك مشكلة؟

يحتاج المطورون إلى كتابة منطق المعالجة هذه لهذه المشكلة الممكنة:

  • أرسل الممثل CMB رسالة إلى الممثل ICBC: “نقل Zhang San 100 يوان إلى Li Si ، لكن المعالجة فشلت”.

  • تلقى الممثل ICBC رسالة مفادها أنه أضاف 100 يوان إلى حساب Zhang San وسجل: “قام Zhang San بنقل 100 يوان إلى Li Si ، لكنه فشل”.

هذه هي الطريقة التي يتم بها كتابة البرنامج ، نسميها نموذج الاتساق النهائي.

كما ذكر أعلاه ، يجب أن يكون القراء غير الفنيين قادرين على الشعور بشكل حدسي بالفرق الكبير في عبء العمل بين تطبيق تطوير العمارة المتجانسة وتطبيق تطوير MSA ، أليس كذلك؟يجب أن تعلم أن مثال النقل المذكور أعلاه هو مجرد تطبيق بسيط للغاية ، إذا نسميه تطبيقًا وليس وظيفة.غالبًا ما تكون الوظائف في التطبيقات الكبيرة أكثر تعقيدًا من هذه الأمثلة.

ما هو حجم هذه الخدمات المجهرية؟

بمعنى آخر ، “هل هذه الخدمات المجهرية كبيرة جدًا ويجب تقسيمها إلى قسمين؟”

لسوء الحظ ، لا توجد إجابة قياسية على هذا السؤال ، إنه فن.كلما كانت الخدمات المجهرية أصغر ، كلما كان من الأسهل تحسين النظام عن طريق إنشاء مثيلات جديدة ونقلها عند الطلب.ومع ذلك ، كلما كانت الخدمات الصغيرة أصغر ، كلما كان من الصعب على المطورين تنفيذ عمليات معقدة ، كما هو موضح أعلاه.

بالمناسبة ، تقسيم التطبيق إلى خدمات microservices متعددة ، من منظور تصميم قاعدة البيانات ، وهو ما يسمى “Sharding”.واحدة من أفضل الممارسات لعمارة الخدمات الصغيرة هي أن كل خدمة microservice تستخدم قاعدة بيانات محلية واحدة فقط.ببساطة ، يسمح Sharding بالتوسع الأفقي.عندما تصبح مجموعة البيانات كبيرة جدًا بحيث لا يمكن معالجتها بالطريقة التقليدية ، لا يوجد شيء آخر (لتوسيع نطاقها) باستثناء تقسيمها إلى شظايا أصغر.

عد إلى قضية تقسيم الخدمات الدقيقة.من أجل ممارسة هذا الفن بشكل أفضل ، نحتاج إلى إتقان استخدام بعض أدوات التفكير.”إجمالي” DDD (التصميم الذي يحركه المجال) هو “قاتل كبير” يجب أن يكون لديك.أعني ، أنه يساعدك على تدمير “التعقيد الأساسي” في تصميم البرامج.

أعتقد أن التجميع هو مفهوم DDD الأكثر أهمية على المستوى التكتيكي.

ما هو التجميع؟يجمع التجميع حدودًا بين الكائنات ، وخاصة الكيانات.يجب أن يحتوي الإجمالي على كيان جذر واحد فقط ، وقد يحتوي على عدد غير مؤكد من الكيانات الداخلية الإجمالية (أو كيانات الجذر غير المعقدة).

يمكننا استخدام مفهوم التجميع لتحليل ونمذجة الحقول التي يخدمها التطبيق ؛أسهل طريقة هي تنفيذ كل تجميع في خدمة microservice.

ومع ذلك ، بغض النظر عن مدى مهارتك ، لا يمكنك ضمان أنك ستفعل الشيء الصحيح في المرة الأولى.في هذا الوقت ، أداة تتيح لك التحقق من نتائج النمذجة في أقرب وقت ممكن ، وإذا لم تنجح ، فستكون ثمينة بالنسبة لك.

ما الذي يمكن أن يشكل حاجزًا أمام ترحيل تطبيقات Web2 الكبيرة إلى النظام البيئي AO؟

أريد أن أتحدث عن قضايا وقت تشغيل اللغة والبرنامج.

AO هو بروتوكول البيانات.يمكنك التفكير في الأمر كمجموعة من مواصفات الواجهة التي تحدد كيفية قيام كل “وحدة” في شبكة AO بتنفيذ التعاون.في الوقت الحالي ، يتضمن التنفيذ الرسمي لـ AO بيئة آلية افتراضية تستند إلى WASM وبيئة وقت تشغيل LUA (AO-LIB) التي تم تجميعها في WASM ، بهدف تبسيط تطوير عمليات AO.

لوا لغة صغيرة وجميلة.يُعتقد أن لوا يتمتع بشكل عام بميزة التضمين الخفيفة وسهلة التضمين في لغات أخرى ، مما يجعلها مفيدة بشكل خاص في سيناريوهات محددة ، مثل تطوير اللعبة.ومع ذلك ، فإن لغة LUA ليست الخيار السائد لتطوير تطبيقات الإنترنت الكبيرة.غالبًا ما يميل تطوير تطبيقات الإنترنت على نطاق واسع إلى استخدام لغات مثل Java و C#و PHP و Python و JavaScript و Ruby ، ​​وما إلى ذلك ، لأن هذه اللغات توفر نظامًا بيئيًا أكثر شمولاً وأدوات ، بالإضافة إلى دعم مجتمع أوسع للمجتمع .

قد يجادل بعض الناس بأن هذه اللغات يمكن تجميعها في رمز WASM وتشغيله في جهاز افتراضي WASM.ولكن في الواقع ، على الرغم من أن WASM قد أدى بقوة في مجال تطوير الواجهة الأمامية على شبكة الإنترنت ، فإن الاستخدام الحالي لـ WASM حيث أن بيئة التشغيل الخلفية لتطبيقات الإنترنت ليست خيارًا رئيسيًا.لاحظ أن العقود الذكية (البرامج على السلسلة) هي “الواجهة الخلفية الجديدة” لعصر Web3.

لخص

باختصار ، ناقشنا مزايا تبني بنية الخدمات الدقيقة (أو نموذج الممثل) والتعقيد الذي يجلبه لتطوير التطبيق.بعض التعقيدات أمر لا مفر منه.على سبيل المثال ، حتى في بيئات Web2 الهندسية الأكثر نضجًا ، فإن تحقيق “الاتساق النهائي” استنادًا إلى اتصال الرسائل يمثل بالفعل تحديًا كبيرًا للعديد من المطورين.يبدو أن التحدي أكثر وضوحًا عند تطوير DAPPs على منصة طالبة AO – بالطبع فهو أمر مفهوم تمامًا.يظهر مثال في بداية مقالة Link التالية.

https://github.com/dddappp/a-ao-demo؟tab=readme-ov-file#an-ao-dapp-development-with-a-low-code-approach

نعلم جميعًا أن المعركة بين السلاسل العامة هي في الواقع حرب لمطوري التطبيقات.لذا ، كيف يمكن لـ AO الفوز بالمطورين في هذه الحالة؟

أعتقد أن هناك حاجة لمواصلة التعلم من Web2 التي تلقت بالفعل “تبنيًا هائلاً”.لا يشمل ذلك تعلم بنيتها التحتية فحسب ، ولكن أيضًا جميع الجوانب مثل منهجية التطوير وأدوات التطوير وممارسات هندسة البرمجيات.في المقالة التالية ، سأريكم أحد الحلول التي أؤمن بها إيمانا راسخا: تطوير الرمز المنخفض.

<-style-type>

  • Related Posts

    Deepseek يسارع Web3 التحول ويغير قيمة الشركات ونماذج إدارة المخاطر

    كتقنية متطورة ، يقوم Deepseek بتغيير مسار التحول الرقمي للمؤسسات والنمط البيئي للتطبيقات اللامركزية ، وتغيير نموذج إدارة التجربة والمخاطر لتحقيق قيمة المؤسسة. ستناقش هذه المقالة تطبيق وقيمة Deepseek في…

    إميلي باركر: 2025 Web3 Trends Int و US وآسيا

    بعد ذلك ، ستتم دعوة إميلي باركر ، مستشارة الصين واليابان في مجلس أعمال بلوكشين العالمي ، لإلقاء خطاب على المسرح. موضوعه هو “2025 Web3 اتجاهات في الولايات المتحدة وآسيا”.…

    اترك تعليقاً

    لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

    You Missed

    BTC 2025 Q3 Outlook: متى ستقدم سوق التشفير مرة أخرى؟

    • من jakiro
    • أبريل 21, 2025
    • 2 views
    BTC 2025 Q3 Outlook: متى ستقدم سوق التشفير مرة أخرى؟

    هل قاعدة “سرقة” إجمالي الناتج المحلي الإجمالي لـ Ethereum؟

    • من jakiro
    • أبريل 21, 2025
    • 2 views
    هل قاعدة “سرقة” إجمالي الناتج المحلي الإجمالي لـ Ethereum؟

    اقتراح Vitalik الجديد: RISC-V باعتباره لغة الآلة الافتراضية لعقود EVM الذكية

    • من jakiro
    • أبريل 21, 2025
    • 0 views
    اقتراح Vitalik الجديد: RISC-V باعتباره لغة الآلة الافتراضية لعقود EVM الذكية

    Coinbase: ما هي الأحداث التي تؤثر على سوق التشفير الحالي؟

    • من jakiro
    • أبريل 21, 2025
    • 0 views
    Coinbase: ما هي الأحداث التي تؤثر على سوق التشفير الحالي؟

    الاتجاه التاريخي: Bitcoin هي رصيد آمن

    • من jakiro
    • أبريل 19, 2025
    • 10 views
    الاتجاه التاريخي: Bitcoin هي رصيد آمن

    ما الذي يجعل أحداث سحب سجادة العملة المشفرة تحدث بشكل متكرر؟

    • من jakiro
    • أبريل 18, 2025
    • 9 views
    ما الذي يجعل أحداث سحب سجادة العملة المشفرة تحدث بشكل متكرر؟
    Home
    News
    School
    Search