كمهندس ويب، أركز أكثر على الأداء والهندسة المعمارية، ولحسن الحظ، شاركت في مؤتمر sd2.0 هذه المرة وتمكنت من التواصل بشكل مكثف مع زملائي في هذين الجانبين، ولا أجرؤ على الاحتفاظ ببعض ما لدي تجارب التصميم المعماري لي، شاركها الأصدقاء، هذه المقالة هي تجربة المشاركة في هذا المؤتمر والتواصل مع الآخرين.
بعض الأفكار حول التصميم المعماري:
1. لا تبالغ أبدًا في التصميم: لا تبالغ أبدًا في التصميم
هذا موضوع يتم ذكره كثيرًا، ولكن طالما أنك تفكر في عدد الوظائف في الهندسة المعمارية الخاصة بك التي لا يتم استخدامها على الإطلاق، أو يتم التخلي عنها أخيرًا، يمكنك فهم أهميتها عندما تشارك لأول مرة في التصميم المعماري، غالبًا ما تكون كذلك تميل إلى تصميم تصميمات واسعة النطاق. أما بالنسبة لهندسة Huayi، فإننا نأمل في تصميم بنية تدريجية قابلة للتطوير للغاية ويمكن أن تتكيف مع جميع الاحتياجات. يعد مجال تطوير الويب عملية ديناميكية للغاية التغييرات الأسبوع المقبل، ونحن بحاجة إلى الاستجابة للتغييرات في أسرع وقت ممكن الاستجابة الأكثر فعالية.
قال مهندسو eBay إن تصميمهم المعماري لم يكن قادرًا على تلبية نمو النظام، لذلك يتم دائمًا قلب نظامهم وإعادة بنائه. يرجى ملاحظة أنه لا توجد مشكلة في قدرة مهندسي eBay، فالهندسة المعمارية التي يصممونها تعتمد دائمًا على اختناقات الإصدار القديم، على أمل أن تحقق الهندسة المعمارية الجديدة اختراقات، ومع ذلك، سيتم دائمًا تحقيق الاختراقات التي تجلبها الهندسة المعمارية الجديدة وفي فترة قصيرة من الزمن، بعد أن طغت عليهم المطالب الجديدة، كان عليهم استخدام بنية جديدة
يعد تطوير الويب عملية سريعة للغاية. تحدث التغييرات في أي وقت. تتغير احتياجات المستخدم باستمرار في العديد من الجوانب، مقارنة بتطوير البرمجيات، فمن غير الواقعي أن نأمل في استخدام بنية واحدة للتخطيط لجميع التصميمات المستقبلية.
2. دورة حياة بنية الويب: دورة حياة بنية الويب
نظرًا لأننا بحاجة إلى التخلص من الإفراط في التصميم وضمان درجة معينة من البصيرة، فكيف يمكننا إيجاد التوازن؟ آمل أن تساعدك دورة حياة بنية الويب التالية.
يجب أن تكون البنية المصممة قادرة على التعامل مع النمو من 1 إلى 10 مرات ببساطة عن طريق زيادة سعة الأجهزة خلال فترة النمو من 5 إلى 10 مرات، يرجى البدء في تصميم الإصدار التالي من البنية حتى تتمكن من الصمود في الأوقات العشرة التالية. نمو مزدوج
السبب وراء سيطرة Google لا يرجع بالكامل إلى مدى تقدم تكنولوجيا البحث وتكنولوجيا الفرز، في الواقع، بما في ذلك Baidu وYahoo، أصبحت التقنيات المستخدمة الآن متشابهة، ومع ذلك، يمكن لـ Google تحقيق ذلك عن طريق إضافة عشرات الآلاف من الخوادم داخلها في الواقع من الصعب تكرار قدرة قدرة النظام الكافية
3. ذاكرة التخزين المؤقت: ذاكرة التخزين المؤقت
يتم استبدال المساحة بالوقت. تعد ذاكرة التخزين المؤقت دائمًا الأولوية القصوى في تصميم الكمبيوتر، بدءًا من وحدة المعالجة المركزية وحتى الإدخال والإخراج، يعد تصميم بنية الويب أمرًا مهمًا، ويعتبر تصميم ذاكرة التخزين المؤقت أمرًا ضروريًا قال مؤسس تاوباو jbosscache: في الواقع، يختلف تصميم ذاكرة التخزين المؤقت على الويب وذاكرة التخزين المؤقت على مستوى المؤسسة اختلافًا كبيرًا عن المنطق، في حين أن ذاكرة التخزين المؤقت على الويب بسيطة وسريعة. .
ما هي المشكلة الناجمة عن التخزين المؤقت؟ هل هي زيادة في تعقيد البرنامج؟ لأن البيانات منتشرة عبر عمليات متعددة، فإن المزامنة تعد مشكلة مزعجة. مع إضافة المجموعات، سيزداد التعقيد في التطبيقات الفعلية يتم استخدام الاستراتيجيات في كثير من الأحيان تحتاج إلى أن تكون ملزمة للأعمال التجارية
صمم Laoqian ذاكرة تخزين مؤقت لقائمة مرتبطة للمنشورات التي صممها Sohu، والتي لا يمكنها تلبية احتياجات الإدراج المرن فحسب، بل يمكنها أيضًا تمكين القراءة السريعة. غالبًا ما تستخدم بعض المجتمعات الكبيرة الأخرى هياكل مماثلة لتحسين قوائم النشر Memcache. أداة
الرابط: فيديو Qian Hongwu حول التصميم المعماري http://211.100.26.82/CSDN_Live/140/qhw.flv
تتمثل الإستراتيجية الشائعة لذاكرة التخزين المؤقت في الاحتفاظ بالبيانات في الذاكرة بدلاً من تخزينها على القرص الذي يستهلك وقتًا أطول. من هذا المنظور، يعد محرك الكومة (طريقة التخزين) الذي توفره MySQL أيضًا طريقة تستحق التفكير فيها. يمكن لطريقة التخزين هذه تخزين البيانات في الذاكرة والاحتفاظ بقدرات الاستعلام القوية لـ SQL. هل تقتل عصفورين بحجر واحد؟
لقد تحدثنا هنا فقط عن التخزين المؤقت للقراءة، في الواقع، هناك أيضًا ذاكرة تخزين مؤقت للكتابة، ونادرًا ما يتم استخدامها في المجتمعات الموجهة للمحتوى، لأن المشكلة الرئيسية التي تحتاج هذه المجتمعات إلى حلها هي مشكلة القراءة، ولكن عندما تكون قدرة المعالجة أقل. من سعة الطلب عندما، أو عندما يتم تخزين طلب واحد مؤقتًا لتشكيل كتلة ثم معالجته على دفعات، يظهر التخزين المؤقت للكتابة، يمكننا بسهولة العثور على ذاكرة التخزين المؤقت هذه في تصميم مجتمع تفاعلي للغاية.
رابعًا، يجب تطوير الوحدة الأساسية بنفسك: اصنع وحدتك الأساسية بنفسك
نحن ندرك ذلك تمامًا. كما ذكر Qian Hongwu و Yunfeng أننا غالبًا ما نميل إلى استخدام بعض الوحدات مفتوحة المصدر، فمن الممكن بالفعل أن نكون حذرين، لأنه متى عندما يصل عدد الزيارات إلى مستوى معين، غالبًا ما تواجه هذه الوحدات مشكلات من نوع أو آخر. بالطبع، يمكننا أن نعزو المشكلة إلى عدم الإلمام بالوحدات مفتوحة المصدر، ولكن بغض النظر عن ذلك، عندما تكون هناك مشكلة في النواة، فهي كذلك. إنه أمر مخيف جدًا عدم فهم الكود الخاص به بالكامل.
5. تخزين البيانات بشكل معقول: تخزين البيانات بشكل معقول
هل يتعين علينا استخدام قاعدة بيانات؟ ليس بالضرورة. يخبرنا Lei Ming أن البحث لا يتطلب بالضرورة قاعدة بيانات. ويخبرنا Yunfeng أن الألعاب لا تتطلب بالضرورة قاعدة بيانات. فلماذا لا نحتاج إلى قاعدة بيانات؟ استبداله؟
بداية، علينا أن نعترف بأن قاعدة البيانات تعمل أيضًا على الملفات. نحتاج إلى قاعدة بيانات، لاستخدام الوظائف التالية بشكل أساسي، إحداهما هي تخزين البيانات والأخرى هي استرجاع البيانات. في قواعد البيانات العلائقية، نحن نهتم كثيرًا بقدرات البحث المعقدة لقاعدة البيانات. ما عليك سوى إلقاء نظرة على Tsql. لا داعي للقراءة بعناية، فقط ألقي نظرة عليها)
حدد c.Class_name,d.Class_name_2,a.Creativity_Title,b.User_name,(اختر count(Id) من المراجعة حيث Reviewid=a.Id) كـ countNum من الإبداع كـ a،User_info كـ b،class كـ c،class2 كـ d حيث a.user_id=b.id وa.Creativity_Class=c.Id وa.Creativity_Class_2=d.Id
حدد a.Id,max(c.Class_name),(max(d.Class_name_2),max(a.Creativity_Title),max(b.User_name),count(e.Id) كـ countNum من الإبداع كـ a،User_info كـ b ،فئة مثل c،class2 مثل d،مراجعة كـ e حيث a.user_id=b.id وa.Creativity_Class=c.Id وa.Creativity_Class_2=d.Id وa.Id=e.Reviewid مجموعة بواسطة a.Id ... …………………………….