تحت خدمات العمارة حلول عملية الصغيرة الموزعة - علي GTS

1 خدمات تطوير الصغرى

خدمة الجزئي المعقد انقسام دعا تطبيق أحادية إلى عدة وظائف بسيطة، والخدمات المتباعدة، والتي يمكن أن تقلل من جهود التنمية، وتعزيز التوسعة للمرونة. احترام حاليا المزيد والمزيد من المطورين، وكثير من عملاق صناعة الإنترنت، مجتمع المصدر المفتوح وهكذا بدأ النقاش وممارسة الخدمات الصغيرة. Hailo 160 تكوين خدمة مختلف، نيتفليكس حوالي 600 خدمة. وعلى الصعيد المحلي، قامت علي بابا، تينسنت، 360، Jingdong، 58 مدينة، والعديد غيرها من شركات الإنترنت من مزاولة الخدمات الصغيرة. الإطار الحالي لتطوير خدمة الصغرى هو أيضا كبير جدا، نسبيا معروفة دوبو، SpringCloud، الادخار، grpc وهلم جرا.

2 مشاكل الهبوط خدمة الصغرى

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

بعد 1) تطبيقات انقسام مونومر لالنظم الموزعة، وآليات التواصل والتدابير استكشاف الأخطاء وإصلاحها بين العمليات تصبح أكثر تعقيدا.

بعد 2) نظام خدمات الصغرى، وهي وظيفة التي تبدو بسيطة، قد تحتاج إلى استدعاء خدمات والعمليات الداخلية متعددة لتحقيق قواعد بيانات متعددة، تصبح القضايا الاحتجاج خدمة المعاملات الموزعة بارزة جدا.

3) وجود عدد كبير من الخدمات الصغيرة، تجاربها، ونشر، والرصد، ويصبح أكثر صعوبة.

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

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

3 الخدمية الموزعة حلول عملية

3.1 تستند الخطة المؤلف على مرحلتين XA بروتوكول

XA الوسيطة المعاملات وقاعدة البيانات من خلال مواصفات واجهة، وذلك باستخدام مرحلتين تلزم لإتمام الصفقة العالمية، XA المواصفات هي أساس مرحلتين ارتكاب البروتوكول.

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

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

3.2 برنامج TCC

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

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

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

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

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

3.3 خطة تقوم على اتساق النهائي للرسالة

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

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

4 GTS-- الموزعة حلول عملية

GTS هو الوسيطة معاملة موزعة، بابا الوسيطة R & D قسم، يمكن أن توفر الحلول وقفة واحدة للهندسة المعمارية الخدمات الدقيقة من المعاملات الموزعة.

نقاط القوة الأساسية 4.1 GTS ل

  • أداء فائق
  • GTS من خلال عدد من مبتكرة، حل مشكلة خصائص ACID المعاملات مع الأداء العالي، وتوافر عالية، والغزو منخفض لا يمكن أن يكون على حد سواء. متوسط زمن الاستجابة لفرع معاملة واحدة حوالي 2MS، مجموعة من ثلاثة خوادم يمكن أن تدعم أكثر من 30،000 TPS توزيعها طلب المعاملة.
  • تطبيق منخفضة الغازية
  • GTS لعمليات المناظير، رمز الأعمال تحتاج فقط لإضافة تعليق سطر واحد على الأقل (TxcTransaction) للإعلان عن الصفقة. العمل والشؤون فصل، مجانا من خدمة المعاملات الصغيرة من الخدمات الصغرى التركيز على الأعمال نفسها، لا حاجة أطول للنظر في القضايا المعقدة عكس واجهات، مثل الطاقة، واستراتيجيات عملية، مما يقلل كثيرا من صعوبة العمل مع تطوير الخدمات الصغيرة المبلغ.
  • الحل الكامل
  • GTS تدعم مجموعة متنوعة من إطار الخدمات الرئيسية، بما في ذلك EDAS، دوبو، سحابة الربيع وهلم جرا.
  • في بعض الحالات، التطبيقات التي تتطلب طرف ثالث واجهة استدعاء النظام، وطرف ثالث نظم مع عدم وجود GTS. في هذه الحاجة نقطة لاستخدام وضع GTS MT. قد يكون GTS نموذج MT يعادل وضع TCC، يمكن للمستخدم تخصيص سلوك محددة لكل مرحلة من مراحل الصفقة على أساس احتياجات أعمالهم. العروض نموذج MT المزيد من المرونة، وإمكانية للوصول وتنفيذ الأمثل مخصصة وظائف خاصة في سيناريوهات خاصة.
  • القدرة المتسامحة
  • منسق المعاملات GTS XA في حل مشكلة نقطة واحدة، لتحقيق حقيقي توافر عالية، ويضمن اتساق البيانات صارم تحت استثناءات المختلفة.

4.2 GTS تطبيق سيناريوهات

GTS يمكن تطبيقها في العديد من المجالات من المكالمات الخدمة، بما في ذلك سبيل المثال لا الحصر، والمدفوعات المالية والاتصالات والتجارة الإلكترونية، والخدمات اللوجستية التوصيل السريع، والتسويق، والإعلان، والشبكات الاجتماعية، والرسائل الفورية، والألعاب المحمولة، والفيديو، والتواصل، والتواصل سيارة.

المتكاملة 4.3 GTS والخدمات الصغيرة

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

4.4 GTS شكل إخراج

GTS غير متاحة في ثلاثة أشكال الإنتاج: خرج سحابة العامة، الناتج من الشبكة العامة، خرج سحابة الخاص.

إخراج 4.4.1 الغيمة العامة

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

4.4.2 انتاج شبكة العام

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

تحت بيئة الشبكة العادية، لتشمل اثنين من الشؤون المحلية لهذه الصفقة العالمية، على سبيل المثال، وقت انتهاء الصفقة حوالي 20ms، 50 بالتزامن يمكن بسهولة تحقيق أكثر من 1000TPS توزيع المعاملات، وأداء معظم الشركات بما فيه الكفاية. في بيئة الشبكة العامة، ومضة شبكة من الصعب تجنب تماما، GTS لا يزال ضمان خدمة الدعوة تناسق البيانات في هذه الحالة.

4.4.3 سحابة الملكية الإخراج

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

4.5 GTS الاستخدام

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

4.5.1 تطبيقات ترتيب الأعمال

لفتح الشرح في المعاملات الموزعة باستخدام الأجهزة الطرفية وظيفةTxcTransaction الأعمال. دوبو انتشار لتطبيق الخادم من خلال صفقة XID المعلمات من GTS مخفية.

TxcTransaction (مهلة = 1000 * 10) طبيعة العمل باطلا العام (OrderService orderService، StockService stockService، سلسلة حاليا) { // الحصول على سياق المعاملة سلسلة XID = TxcContext.getCurrentXid ()؛ و// بواسطة RpcContext تنتشر إلى XID الخادم . RpcContext.getContext () setAttachment ( "XID"، XID)؛ // تنفيذ منطق الأعمال الخاصة بهم الباحث معرف المنتج = عشوائية () جديدة nextInt (100)؛ الباحث productNum = عشوائية () جديدة nextInt (100)؛ OrderDO orderDO = OrderDO الجديدة (حاليا، معرف المنتج، productNum، جديدة الطابع الزمني (تاريخ جديد () getTime ()))؛ orderService.createOrder (orderDO)؛ // أقره RpcContext في XID ملقم آخر . RpcContext.getContext () setAttachment ( "XID"، XID)؛ stockService.updateStock (orderDO)؛ }

4.5.2 مقدم الخدمة

تحديث طريقة الجرد

الباحث العام updateStock (OrderDO orderDO) { // الحصول على معرف معاملة العالمي، ومتجهة إلى السياق . سلسلة XID = RpcContext.getContext () getAttachment ( "XID")؛ TxcContext.bind (XID، لاغية)؛ // تنفيذ منطق الأعمال الخاصة بهم الباحث المتقاعد = jdbcTemplate.update ( "؟؟ كمية الأوراق المالية التحديث مجموعة = المبلغ - حيث PRODUCT_ID =" كائن جديد {orderDO.getNumber ()، orderDO.getProductId ()})؛ TxcContext.unbind ()؛ عودة المتقاعد. }

تطبيق 4.6 GTS ل

GTS الآن في تاوباو، الوشق، علي صور، أموي التصويت، علي ماما، 1688 علي والأنظمة التجارية الأخرى وتستخدم على نطاق واسع، صمدت أمام اختبار 16 عاما و 17 عاما، وهما مزدوج أحد عشر طلب هائل. قد وصلت إلى أقصى تدفق من أنظمة الأعمال التجارية عبر الإنترنت مائة ألف TPS (المعاملات في الثانية إلى 100K).

GTS في السحابة العامة والإخراج سحابة الخاص، لديها بالفعل أكثر من 100 المستخدمين على شبكة الإنترنت، العديد من المستخدمين على حل مشكلة المعاملات الموزعة SpringCloud، دوبو، خدمات EDAS الإطار الذي GTS. الأعمال التي تنطوي على الكهرباء، والخدمات اللوجستية، ETC، والتبغ، والتمويل، وتجارة التجزئة، ومقدمي الكهرباء، وتقاسم السفر أكثر من عشرة الصناعات، وقد تم الاعتراف من قبل المستخدمين.

تم دمج FIG SpringCloud مع GTS، وتطبيقها على نظام تقاسم رحلة. حصة سيناريوهات سفر رجال الأعمال، كل تناسق البيانات من خلال نظام GTS القائم على تطبيق الدعم، أنظمة النظام، وأنظمة الدفع وأنظمة التشغيل والصيانة، ونظم التحليل، والربط الشبكي لضمان تدفق كتلة أوامر لعشرات الملايين من المعاملات.

هندسة عينات من 4.7 GTS

GTS عينة من السحابة العامة علي سحابة يمكن الرجوع إلى الموقع. توفير عينة TXC-بسيطة وعينة TXC-دوبو مشروعين سبيل المثال في بيئة الشبكة العامة.

عينة 4.7.1 عينة TXC-بسيطة

4.7.1.1 منطق الأعمال عينة

وGTS هو إدخال عينة عينة، ومنطق الأعمال من هذه القضية هو لتحويل الأموال من حساب إلى حساب B، حيث تقع ألف وباء في قاعدة بيانات MySQL، وهما إجمالي عدد الصفقات باستخدام GTS لضمان أن ألف والمال حساب B هو نفسه دائما.

4.7.1.2 طريقة نموذج للبناء

1) إعداد بيئة قاعدة البيانات

تثبيت الخلية، إنشاء قاعدتي DB1 و DB2. تم إنشاؤها في DB1 و DB2 txc_undo_log الجدول (النصي SQL انظر 4.7.3). إنشاء جدول في مكتبة user_money_a DB1، وخلق user_money_b الجدول في مكتبة DB2.

2) تحميل عينة

تحميل ملف عينة TXC-بسيطة محليا، وقد شملت عينة في SDK GTS.

3) تعديل تكوين

فتح عينة TXC-بسيط دليل الموارد / SRC / الرئيسي / TXC العميل-context.xml في مصدر البيانات رابط، اسم المستخدم وكلمة المرور لتعديل القيمة الفعلية.

4) تشغيل العينة

Build.sh جمعت تنفيذ المشروع في الدليل عينة TXC-بسيطة. بعد run.sh. تنفيذ تجميع

عينة 4.7.2 عينة TXC-دوبو

4.7.2.1 منطق الأعمال عينة

هذه الحالة تحاكي أوامر، والحد من المستخدم المخزون منطق الأعمال. العميل (العملاء) لخلق أمر عن طريق استدعاء خدمة النظام (OrderService)، بعد خصم الجرد الخدمة عن طريق الاتصال (StockService) المخزون. التي أوامر قراءة قاعدة البيانات من أجل خدمة والكتابة والقراءة وقاعدة بيانات المخزون خدمة الكتابة الجرد. وGTS ضمان الاتساق عبر معاملات الخدمة.

4.7.2.2 طريقة نموذج للبناء

1) إعداد بيئة قاعدة البيانات

تثبيت الخلية، إنشاء قاعدتي DB1 و DB2. إنشاء جدول txc_undo_log في DB1 و DB2 فيه. إنشاء جدول أوامر في DB1 قاعدة البيانات، DB2 إنشاء جدول الأسهم في المكتبة.

2) تحميل عينة

ملفات العينة عينة TXC-دوبو تحميلها على الجهاز المحلي، وقد شملت عينة في SDK GTS.

3) تعديل تكوين

فتح عينة TXC-دوبو / SRC / الرئيسي الدليل / الموارد، رابط دوبو النظام-service.xml، دوبو الأسهم-service.xml مصدران بيانات الملف، اسم المستخدم وكلمة المرور لتعديل القيمة الفعلية.

4) تشغيل العينة

أ. المترجم

تنفيذ الأمر Build.sh، ومترجم يعمل في الدليل الجذر المشروع. فإن المترجم توليد order_run.sh في عينة TXC-دوبو / العميل / الدليل بن، stock_run.sh، client_run.sh ثلاثة نصوص المدى تتوافق مع خدمة النظام والمخزون وخدمة العملاء.

ب. تشغيل برنامج

في الدليل الجذر run.sh التنفيذ، يبدأ السيناريو تتحول order_run.sh (خدمة النظام)، stock_run.sh (خدمة الجرد) وclient_run.sh (العميل).

4.7.2.3 ملاحظات أخرى

طريقة التعريفي عينة التسجيل المتعدد. إذا كانت وحدة باستخدام شبكة لاسلكية، دوبو خدمة ممكنة للحصول على عنوان IPv6 عند الربط عنوان، يمكنك البدء عن طريق تعطيل المعلمات JVM.

ومن لتكوين JVM معلمات بدء التشغيل -Djava.net.preferIPv4Stack = صحيح .

"البيانات الكبيرة"، الذي يحق البيانات الكبيرة، الذين لديهم الحق في تحليل البيانات الكبيرة؟

سوار الدخن 4 التعرض، وتقنية بلوتوث 5.0، يعزز إلى حد كبير استقرار

سامسونج مول علة المتابعة، وليس التسليم، والتعويض عن قيمة 699 AKG سماعات

هواوي كيرين كبير تحديد الوجه: صورة مجسم جديدة

والدخن 9 يكون بيع مفتوحة كامل المبلغ، ووقت التسليم جدا Tucao

فجأة! أعلنت خدمة ثقيلة الجرجير ان العمليات توقفت، وسوف يكون ميتا تماما

"IDaily 2018 هل السنوي يكن الكتاب" لاول مرة: استعراض 5 ألف 3000px الترا HD صور 2018

قسم Jingdong 818 الهاتف الهواتف المزودة بكاميرات الذي هو خير؟ التصوير القهوة كبيرة لمساعدتك في اختيار!

كنت أعرف فقط "، يتجولون في الأرض" النار؟ لقد اكتشفت سر ......

باد ميني 5 آخر تحديث، A12 ولكن أيضا ما الدراجة 2799

العودة بعد أربع سنوات لنائمة، وملء الشاشة "المنشئ" ما حيلة التفوق شارب

مرات زراعة مهنة جديدة: من مايكروسوفت ل"الحرب بطاقة بت جوجل الفهد علي