عندما تبدأ مدونة باسم النطاق الخاص بك، يجب أن تكون مشاركتك الأولى أكثر أهمية قليلاً حتى تستحق اسم النطاق الذي تبلغ قيمته 4 دولارات. باعتباري ممارسًا تقنيًا لمدة عشر سنوات، وبعد عشر سنوات من التجوال، وجدت أن هناك بعض المعرفة التي يجب علي قراءتها في جميع أنحاء العالم لحل المشكلة، واسمحوا لي أن أشرحها بشكل منهجي خطوة بخطوة من البداية فهل يمكن لموقع ويب صغير يضم آلاف الزوار، أو موقع ويب صغير يضم مليون أو مليوني زائر يوميًا، أن يمر بهذه المرحلة بسلاسة دون أي قصور متأصل في التكنولوجيا؟ هذه المقالة مكتوبة لبعض الموظفين الفنيين، ولكن أيضًا لرواد الأعمال الذين لا يفعلون ذلك فهم التكنولوجيا الذين.
كل من يعرف الإنترنت لديه أفكاره الخاصة، وبعض الأشخاص يضعون أفكارهم موضع التنفيذ، وينشئون موقعًا إلكترونيًا ويبدأون في تشغيله. في الواقع، من منظور تكنولوجيا مواقع الويب البحتة، نظرًا لتطوير نموذج مفتوح المصدر، أصبح الآن إنشاء موقع ويب صغير أمرًا سهلاً ورخيصًا للغاية. عندما يصل عدد الزيارات إلى مستوى معين، تبدأ التكلفة في الارتفاع، وتبدأ المشاكل في الظهور. إن الزيادة في التكاليف الناجمة عن زيادة عرض النطاق الترددي وتوسيع الأجهزة وزيادة عدد الموظفين أمر واضح، وجزء كبير من التكلفة ناتج عن إعادة بناء الكود وإعادة بناء البنية وحتى استبدال لغة التطوير الأساسية المشكلة الأكبر هي فقدان البيانات، وبعد العمل الجاد لعدة سنوات، يمكنك العودة إلى ما قبل بدء عملك بين عشية وضحاها.
خفض التكاليف يعني زيادة الأرباح. يمكننا تجنب أشياء كثيرة في البداية من خلال إرساء أساس جيد أولاً، يمكننا توفير الكثير من الطاقة والقلق في المستقبل.
لنفترض أنك شخص تقني مشارك في بدء عمل تجاري، وأنك مفلس حاليًا، وعليك أن تفعل كل شيء بنفسك وتدفع ثمنه بنفسك يجب عليك الانتباه إلى النقاط التالية:
1. لغة التنمية
بشكل عام، عندما يبدأ الفنيون (المبرمجون) عملاً تجاريًا، فإنهم يختارون اللغة الأكثر دراية بهم بناءً على خلفيتهم التقنية، ومع ذلك، مع الأخذ في الاعتبار أنه لا يمكنك دائمًا كتابة البرامج بمفردك، عليك التفكير في هذا الأمر بعناية. بغض النظر عن اللغة المستخدمة، فإن جودة الكود النهائية تعتمد على الإدارة، لذلك يجب أن نكون عمليين من مستوى لغوي خالص. تتمتع كل من Java و php و .net و python و Ruby بمزاياها وعيوبها الخاصة. بالنسبة لـ python و Ruby، لا يزال من الصعب نسبيًا تعيين موظفين، ولن يستغرق تحسين الأداء بعض الجهد تحمل خادم ويندوز. لا تزال Java و PHP الأكثر استخدامًا. بالنسبة لمواقع الويب التي تكون تطبيقاتها مدعومة دائمًا من قبل الواجهة الأمامية في المرحلة المبكرة، تتمتع PHP بمزايا أكبر قليلاً، مثل سهولة الدخول وأنماط التصميم البسيطة والكتابة السريعة والأداء الكافي، ومع ذلك، فإن عدم الاهتمام بأنماط التصميم يعد أيضًا من أهم مميزاتها عيبها، ومن السهل أن تصبح فضفاضة، وبها الكثير من الأخطاء المخفية، ويصعب صيانتها. تتمثل ميزة Java في أن عملية الإدارة بأكملها مدعومة بالعديد من الأدوات الناضجة، ويمكن للكتابة القوية أيضًا تجنب بعض الأخطاء المعوقة عقليًا. يولي معظم مبرمجي JAVA اهتمامًا أكبر لأنماط التصميم، بغض النظر عما إذا كان تنسيق التعليمات البرمجية عمليًا أم لا لا تزال تبدو جيدة. يعد هذا أيضًا عيبًا، فقد يركز المبتدئون كثيرًا على الأنماط ويجدون صعوبة في حل الاحتياجات الفعلية.
الواجهة الأمامية ليست مجرد HTML وCSS. الجزء الكامل المسؤول عن التفاعل مع المستخدم هو الواجهة الأمامية، بما في ذلك المعالج. لا يزال يُنصح باستخدام PHP لهذا النوع من البرامج، والسبب الرئيسي هو أنه تم تطويره بسرعة ولديه مجموعة واسعة من الممارسين. أما بالنسبة للواجهة الخلفية، مثل التحليل السلوكي والواجهات المصرفية ومعالجة الرسائل غير المتزامنة وما إلى ذلك، بغض النظر عن البرنامج الذي تستخدمه، يمكنك فقط اختيار لغات مختلفة وفقًا لاحتياجات العمل المختلفة.
2. إدارة إصدار الكود
إذا كانت سرعة الشبكة بين المطورين متشابهة، فاستخدم SVN، وإذا كانت أكثر تشتتًا، على سبيل المثال عبر البلدان، فاستخدم hg. لا يزال معظم الناس يستخدمون svn.
على افتراض أنك اخترت svn، هناك عدة اعتبارات. الأول هو هيكل الشجرة الذي يجب استخدامه. في المرحلة المبكرة، قد يكون هناك صندوق واحد فقط، ولكن لاحقًا ستحتاج إلى إنشاء فروع، مثل فرع التطوير وفرع عبر الإنترنت. لاحقًا، قد يكون هناك فرع واحد لكل فريق. يوصى باختيار فرعين في البداية عندما يكون هناك عدد قليل من الأشخاص، وبعد الاختبار المحلي لكل وظيفة بشكل صحيح، قم بإرساله إلى فرع التطوير، وأخيرًا، يمكن دمج الاختبار الموحد في الفرع عبر الإنترنت متصل. إذا كنت ترغب في استخدام svn كقرص ثابت متنقل، فلا يهم إذا كتبت قليلاً والتزمت به مرة واحدة، ولكن سيكون أكبر قليلاً عند الدمج. يمكن لهؤلاء الأشخاص إنشاء فرع أو حتى مستودع كود محلي ، وأرسله إلى فرعهم حسب الرغبة، ثم اختبره مرة أخرى في فرع التطوير.
يمكن أن يتم النشر يدويًا أو تلقائيًا. يعد النشر اليدوي بسيطًا نسبيًا، وعادة ما يتم تحديث svn مباشرة على الخادم، أو العثور على دليل جديد لفحص svn، ثم تمرير جذر الويب إلى ln -s. كلما كان التطبيق أكثر تعقيدًا، كلما كان النشر أكثر تعقيدًا. لا يوجد معيار موحد، فقط لا تستخدم تحميل بروتوكول نقل الملفات. أولاً، يزيد معدل الخطأ في مراجع الملفات غير المتسقة عند التحميل. ثانيًا، من السهل أن يكون إصدار المطور غير متوافق مع الإصدار عبر الإنترنت، مما أدى إلى حدوث خطأ مطبعي كنت أرغب في تصحيحه في البداية ولكن تم التراجع عنه في النهاية. إذا كان هناك عدة خوادم، فمن المستحسن النشر تلقائيًا، حيث تتم إزالة الجهاز الذي تم تغيير رمزه مؤقتًا من تجمع الخدمات الحالي، ثم يتم إعادة الانضمام إليه بعد اكتمال التحديث.
بغض النظر عن مدى صغر حجم المشروع، قم بتطوير عادة جيدة لاستخدام إدارة الإصدار، على الأقل يمكن استخدامه كنسخة احتياطية. على الرغم من أن http://zhiyi.us الخاص بي هو مجرد WordPress، إلا أنه لا يزال svn واحد أو اثنين من المغلق، وهذا أمر جيد.
3. أجهزة الخادم
لا تحسد العملاء الكبار والأثرياء، ألق نظرة على منطقة البيع بالتجزئة في غرفة الكمبيوتر. خادم واحد وحده يدعم عددًا لا يحصى من المواقع. إذا كان لديك أموال كافية، فمن المستحسن أن يكون لديك على الأقل ثلاثة تكوينات قياسية لمعالجة الويب وقاعدة البيانات والنسخ الاحتياطي. يتطلب خادم الويب ما لا يقل عن 8 جيجا بايت من الذاكرة وغارة ساتا مزدوجة 1. إذا كان الاقتصاد فضفاضًا بعض الشيء، أو كان هناك العديد من الملفات أو الصور الثابتة، فعندئذٍ 15 كيلو بايت من sas RAID1 + 0. يجب أن تحتوي قاعدة البيانات على ذاكرة 16 جيجا بايت على الأقل و15 كيلو بايت sas Raid 1+0. من الأفضل تكوين خادم النسخ الاحتياطي بنفس تكوين خادم قاعدة البيانات. بالنسبة للأجهزة، يمكنك شراء هيكل العلامة التجارية الخاصة بك، أي أن الهيكل مزود باللوحة الأم وصندوق القرص الصلب، ويمكنك مطابقة وحدة المعالجة المركزية والذاكرة والقرص الصلب بنفسك، ويمكنك أيضًا شراء مجموعة كاملة من العلامات التجارية، أو يمكن أن تكون متوافقة مع الجهاز. مع ثلاث آلات، سعر السوق هو 60,000 يوان صيني إلى 70,000 يوان صيني.
يمكن لخادم الويب تشغيل البرامج والعمل كذاكرة تخزين مؤقت، بينما يقوم خادم قاعدة البيانات بتشغيل قاعدة البيانات الرئيسية فقط (إذا كانت MySQL)، فيجب أن يكون تكوين الويب وتكوين ذاكرة التخزين المؤقت وتكوين قاعدة البيانات متسقًا بشكل أكبر نسبيًا مع الاثنين السابقين، وبهذه الطريقة، إذا كانت هناك مشكلة في الويب أو قاعدة البيانات، فقم بتغيير عنوان IP الخاص بخادم النسخ الاحتياطي وانتقل إليه. يمكن أن تكون استراتيجية النسخ الاحتياطي drbd أو rsync أو العديد من حلول النسخ الاحتياطي مفتوحة المصدر الأخرى للاختيار من بينها. rsync هو الأبسط، ما عليك سوى وضعه في cron وتشغيله بنفسك. بالنسبة للنسخ الاحتياطي والتبديل، يوصى بإجراء المزيد من الاختبارات واختيار الأكثر أمانًا والأكثر ملاءمة للأعمال، وإجراء النسخ الاحتياطي في مواقع خارج الموقع قدر الإمكان.
4. غرفة الكمبيوتر
حاول ألا تختار ثلاثة أنواع من غرف الكمبيوتر: غرف كمبيوتر China Unicom ذات وصول بطيء للغاية إلى China Unicom، وغرف كمبيوتر China Unicom ذات وصول بطيء للغاية إلى China Telecom، وغرف كمبيوتر China Mobile أو China Railcom ذات وصول بطيء للغاية إلى China Unicom. ماذا عن غرفة كمبيوتر Netcom؟ عزيزي، لقد اندمجت شركتا تشاينا نيتكوم وتشاينا يونيكوم منذ فترة طويلة وأعيدت تسميتهما إلى تشاينا يونيكوم. ابحث كثيرًا، وقم بزيارة الموقع، واختبر كثيرًا، واستفسر بعدة طرق. لا يزال هناك العديد من غرف الكمبيوتر عالية الجودة في المدن الرئيسية مثل بكين وشانغهاي وقوانغتشو، ابحث عن غرفة كمبيوتر ذات جودة شبكة جيدة إدارة صارمة. على وجه الخصوص، يجب أن تكون الإدارة صارمة. لا يمكن الوصول إلى موقع الويب، بعد إجراء مكالمة هاتفية، تكتشف أن شخصًا آخر قد قطع كابل الشبكة أثناء الصيانة، وهذا يمثل صداعًا أكبر من DOS. إذا قمت بسحب عدد قليل من الألياف الضوئية بنفسك، فإن ذلك يسمى غرفة الكمبيوتر، ويعتمد ذلك على قدرتك على تحمل المخاطر والجودة النفسية. يمكن القول أن غرفة الكمبيوتر مهمة جدًا، فهي ترتبط ارتباطًا مباشرًا بسرعة الوصول إلى موقع الويب، وترتبط سرعة الوصول إلى موقع الويب ارتباطًا مباشرًا بتجربة المستخدم لعبة VPN على الإنترنت لفتح موقع الويب الخاص بك غير المعروف. ربما يكون برنامج Ajax الخاص بموقعك ممتازًا، لكن المستند ليس جاهزًا أبدًا، وبعض الرموز تكون دائمًا معزولة عن المستخدمين.
5. الهيكل
البنية الأولية بسيطة نسبيًا بشكل عام، وتتكون من موازنة تحميل الويب + قاعدة البيانات الرئيسية والتابعة + ذاكرة التخزين المؤقت + التخزين الموزع + قائمة الانتظار. في الاتجاه العام، هناك بالفعل هذه الأشياء القليلة فقط من حيث التفاصيل، وقد كررتها مقالات لا تعد ولا تحصى، ووفقًا للمستقبل، سيكون هناك N المزيد من شبكات الويب، و N المزيد من العلاقات بين السيد والعبد، و N المزيد من ذاكرة التخزين المؤقت، و N أكثر. تصميمات xxx كلها جاهزة، ولكن ما يجعلك أفضل من الآخرين هو أن تصميمك يأخذ في الاعتبار التأثير الانهياري عند فشل ذاكرة التخزين المؤقت، وتناسق البيانات وفارق التوقيت في المزامنة الرئيسية والتابعة. قائمة الانتظار واستراتيجية إعادة المحاولة بعد الفشل وكفاءة تخزين الملفات وطرق النسخ الاحتياطي وغيرها من المواقف غير المتوقعة. ستفشل ذاكرة التخزين المؤقت في يوم ما، وسيتم مقاطعة النسخ المتماثل لقاعدة البيانات في يوم ما، ولن تتمكن قائمة الانتظار من الكتابة في يوم من الأيام، وسوف ينفد مصدر الطاقة في يوم من الأيام. وفقًا لقانون مورفي، إذا لم تأخذ هذه الأمور بعين الاعتبار، فسيتحول الموقع الإلكتروني إلى طاولة قهوة عاجلاً أم آجلاً.
6. برنامج الخادم
تعد Linux وnginx وphp وmysql قياسية تقريبًا بالإضافة إلى النظر إلى الاسم، يتعين علينا أيضًا اختيار الإصدار. هناك العديد من توزيعات Linux، طالما لا توجد متطلبات خاصة، اختر التوزيعة التي تحتوي على أكبر عدد من المستخدمين، والمجتمع الأكثر نشاطًا، والتكوين الأكثر ملاءمة، وحزم البرامج الأكثر اكتمالًا وأحدث، مثل Debian وUbuntu. أما بالنسبة لـ RHEL وما شابه، فهل تستخدم برامج يمكن تشغيلها على RHEL فقط؟ بالنسبة إلى nginx وphp وmysql وactivemq وغيرها وما إلى ذلك، ما لم تقم بتغيير هذه البرامج أو أن برنامجك غير متوافق حقًا مع الإصدار الجديد، فحاول الحصول على الإصدار الأحدث، كلما كان الإصدار الأحدث يعني المزيد من الميزات الجديدة والحد من الأخطاء، وزيادة الأداء. هناك دائمًا بعض الأشخاص الذين يخبرونك من خلال الإشاعات أن الإصدار القديم مستقر. يشير ما يسمى بالاستقرار إلى أعمال خاصة، أما بالنسبة لموقع ويب مكتوب بلغة PHP، فإن معظم الأشخاص لم يغيروا أي كود مصدر لبرنامج الخادم، وفي معظم الحالات، يمكن ترقيته بسلاسة إلى إصدار جديد. على غرار jdk5 إلى jdk6، ومن python2 إلى python3، لا تزال الترقيات ذات التغييرات الكبيرة نسبيًا نادرة نسبيًا. قم بإلقاء نظرة على ChangeLog، وانظر إلى تعليمات الترقية، وقم بتقييمها بناءً على حالتك الخاصة. كلما أسرعت في الترقية، كان من الأفضل أن يستخدم الآخرون php6 لكتابة البرامج، ونحن هنا لا نزال نستخدم php4. لا يزال من المسؤول جدًا ترقية البرامج مفتوحة المصدر الممتازة. انتبه إلى الوثائق ولا تخف.
تم إعداد النقاط الست المذكورة أعلاه الآن بعد أن أصبح لدينا بيئة التشغيل والهيكل الأساسي للهندسة وخطة النسخ الاحتياطي والتبديل، يجب أن نبدأ في تصميم الأشياء وتطويرها. هناك أشياء لا حصر لها قيد التطوير، وستتحدث المقالة التالية عن بعض النقاط الأساسية أولاً.
العنوان الأصلي: http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html
يرجى الإشارة إلى مصدر إعادة الطبع هو zhiyi.us.