เมื่อคุณเริ่มต้นบล็อกด้วยชื่อโดเมนของคุณเอง โพสต์แรกของคุณจะต้องมีความสำคัญมากกว่านี้เล็กน้อยจึงจะคุ้มค่ากับชื่อโดเมน $4 ในฐานะผู้ปฏิบัติงานด้านเทคนิคมาสิบปี หลังจากเดินไปมาสิบปี ฉันพบว่ามีความรู้บางอย่างที่ฉันต้องอ่านทั่วโลกเพื่อแยกแยะเบาะแส ให้ฉันอธิบายทีละขั้นตอนตั้งแต่ต้นอย่างไร เว็บไซต์ขนาดเล็กที่มีผู้เยี่ยมชมหลายพันคน หรือเว็บไซต์ขนาดเล็กที่มีผู้เยี่ยมชมหนึ่งหรือสองล้านคนต่อวัน สามารถผ่านขั้นตอนนี้ได้อย่างราบรื่นโดยไม่มีข้อบกพร่องทางเทคโนโลยีโดยธรรมชาติหรือไม่ เข้าใจเทคโนโลยีใคร
ทุกคนที่รู้จักอินเทอร์เน็ตต่างก็มีแนวคิดของตนเอง และบางคนก็นำแนวคิดของตนไปปฏิบัติ สร้างเว็บไซต์ และเริ่มดำเนินการ จากมุมมองของเทคโนโลยีเว็บไซต์ล้วนๆ เนื่องจากการพัฒนารูปแบบโอเพ่นซอร์ส ทำให้การสร้างเว็บไซต์ขนาดเล็กเป็นเรื่องง่ายและราคาถูก เมื่อจำนวนการเข้าชมถึงระดับหนึ่ง ค่าใช้จ่ายก็เริ่มสูงขึ้น และปัญหาก็เริ่มปรากฏขึ้น ต้นทุนที่เพิ่มขึ้นที่เกิดจากการเพิ่มขึ้นของแบนด์วิดท์ การขยายฮาร์ดแวร์ และการขยายบุคลากรนั้นชัดเจน และต้นทุนส่วนใหญ่เกิดจากการสร้างโค้ดใหม่ การสร้างสถาปัตยกรรมขึ้นมาใหม่ และแม้แต่การเปลี่ยนภาษาในการพัฒนาที่เป็นพื้นฐาน ปัญหาที่ใหญ่ที่สุดคือข้อมูลสูญหาย หลังจากทำงานหนักมาหลายปี คุณสามารถกลับไปก่อนที่จะเริ่มต้นธุรกิจในชั่วข้ามคืนได้
การลดต้นทุนหมายถึงการเพิ่มผลกำไร เราสามารถหลีกเลี่ยงหลายๆ อย่างได้ตั้งแต่แรก โดยการวางรากฐานที่ดีไว้ก่อน จะช่วยประหยัดพลังงานและความกังวลในอนาคตได้มาก
สมมติว่าคุณเป็นบุคคลด้านเทคนิคที่เกี่ยวข้องกับการเริ่มต้นธุรกิจและขณะนี้คุณต้องทำทุกอย่างด้วยตัวเองและจ่ายเงินด้วยตัวเอง คุณต้องมีเงินทุนเริ่มต้นนับแสนเพื่อสร้างเว็บไซต์ที่มีแอปพลิเคชันที่ไม่ซับซ้อนเป็นพิเศษ คุณควรใส่ใจกับประเด็นต่อไปนี้:
1. ภาษาการพัฒนา
โดยทั่วไปแล้ว เมื่อช่างเทคนิค (โปรแกรมเมอร์) เริ่มต้นธุรกิจ พวกเขาเลือกภาษาที่พวกเขาคุ้นเคยมากที่สุดโดยพิจารณาจากพื้นฐานทางเทคนิค อย่างไรก็ตาม เมื่อพิจารณาว่าคุณไม่สามารถเขียนโปรแกรมโดยลำพังได้เสมอไป คุณต้องคิดอย่างรอบคอบเกี่ยวกับเรื่องนี้ ไม่ว่าจะใช้ภาษาใดก็ตาม คุณภาพของโค้ดขั้นสุดท้ายขึ้นอยู่กับการจัดการ ดังนั้นเราจึงควรใช้งานได้จริงจากระดับภาษาล้วนๆ java, php, .net, python และ ruby ยอดนิยมล้วนมีข้อดีและข้อเสียของตัวเอง สำหรับ python และ ruby ยังค่อนข้างยากที่จะรับสมัครบุคลากร และการเพิ่มประสิทธิภาพการทำงานจะต้องใช้ความพยายามบ้าง จ่าย windows server. Java และ PHP ยังคงถูกใช้มากที่สุด สำหรับเว็บไซต์ที่ส่วนหน้ารองรับแอปพลิเคชันเกือบตลอดเวลาในช่วงเริ่มต้น PHP มีข้อได้เปรียบที่มากกว่าเล็กน้อย เช่น การป้อนข้อมูลที่ง่าย รูปแบบการออกแบบที่เรียบง่าย การเขียนที่รวดเร็ว และประสิทธิภาพที่เพียงพอ อย่างไรก็ตาม การไม่ใส่ใจกับรูปแบบการออกแบบก็เช่นกัน เสียและกลายเป็นง่าย หลวม มีจุดบกพร่องซ่อนอยู่เยอะและดูแลรักษายาก ข้อดีของ Java คือกระบวนการจัดการทั้งหมดได้รับความช่วยเหลือจากเครื่องมือที่เป็นผู้ใหญ่จำนวนมาก และการพิมพ์ที่แข็งแกร่งยังสามารถหลีกเลี่ยงข้อบกพร่องทางจิตใจบางประการได้ โปรแกรมเมอร์ JAVA ส่วนใหญ่ให้ความสำคัญกับรูปแบบการออกแบบมากขึ้น ไม่ว่ารูปแบบโค้ดจะใช้งานได้จริงหรือไม่ก็ตาม ยังดูดีอยู่ นี่เป็นข้อเสียเช่นกัน ผู้เริ่มต้นอาจให้ความสำคัญกับรูปแบบมากเกินไปและพบว่าเป็นการยากที่จะแก้ไขความต้องการที่แท้จริง
ส่วนหน้าไม่ได้เป็นเพียง HTML และ CSS ส่วนที่รับผิดชอบในการโต้ตอบกับผู้ใช้ทั้งหมดคือส่วนหน้า รวมถึงตัวจัดการด้วย ยังคงแนะนำให้ใช้ PHP สำหรับโปรแกรมประเภทนี้ เหตุผลหลักคือ ได้รับการพัฒนาอย่างรวดเร็วและมีผู้ปฏิบัติงานที่หลากหลาย ในส่วนของแบ็กเอนด์ เช่น การวิเคราะห์พฤติกรรม อินเทอร์เฟซของธนาคาร การประมวลผลข้อความแบบอะซิงโครนัส ฯลฯ ไม่ว่าคุณจะใช้โปรแกรมใดคุณสามารถเลือกภาษาได้ตามความต้องการทางธุรกิจที่แตกต่างกันเท่านั้น
2. การจัดการเวอร์ชันโค้ด
หากความเร็วเครือข่ายระหว่างนักพัฒนาใกล้เคียงกัน ให้ใช้ SVN หากมีการกระจายมากกว่า เช่น ข้ามประเทศ ให้ใช้ hg คนส่วนใหญ่ยังคงใช้ svn
สมมติว่าคุณเลือก svn มีข้อควรพิจารณาหลายประการ หนึ่งคือโครงสร้างต้นไม้ที่จะใช้ ในระยะแรกอาจมีเพียง trunk เดียว แต่ต่อมาคุณจะต้องสร้างสาขา เช่น สาขาพัฒนา และสาขาออนไลน์ ต่อมาอาจมีหนึ่งสาขาสำหรับแต่ละทีม ขอแนะนำให้เลือกสองสาขาในช่วงเริ่มต้นเมื่อมีคนน้อย คือ การพัฒนาและออนไลน์ หลังจากการทดสอบในท้องถิ่นของแต่ละฟังก์ชันถูกต้องแล้ว ให้ส่งไปยังสาขาการพัฒนา สุดท้ายนี้ การทดสอบแบบรวมศูนย์สามารถรวมเข้ากับสาขาออนไลน์ได้เมื่อไป ออนไลน์ หากคุณต้องการใช้ svn เป็น mobile hard disk ไม่สำคัญว่าคุณจะเขียนเพียงเล็กน้อยและคอมมิตมันเพียงครั้งเดียว แต่จะใหญ่กว่าเล็กน้อยเมื่อรวมเข้าด้วยกัน คนเหล่านี้สามารถสร้างสาขาหรือแม้แต่คลังรหัสท้องถิ่นได้ ให้ส่งไปที่สาขาของตนเองตามต้องการ จากนั้นทดสอบอีกครั้ง
การปรับใช้สามารถทำได้ด้วยตนเองหรือโดยอัตโนมัติ การปรับใช้ด้วยตนเองนั้นค่อนข้างง่าย โดยปกติแล้วจะอัปเดต svn บนเซิร์ฟเวอร์โดยตรง หรือค้นหาการชำระเงิน svn ไดเรกทอรีใหม่ จากนั้นส่งเว็บรูทไปที่ ln -s ยิ่งแอปพลิเคชันซับซ้อน การปรับใช้ก็ยิ่งซับซ้อนมากขึ้นเท่านั้น เพียงอย่าใช้การอัปโหลด ftp ประการแรก อัตราข้อผิดพลาดของการอ้างอิงไฟล์ที่ไม่สอดคล้องกันจะเพิ่มขึ้นเมื่ออัปโหลด ประการที่สอง มันง่ายสำหรับเวอร์ชันของนักพัฒนา ไม่สอดคล้องกับเวอร์ชันออนไลน์ ส่งผลให้พิมพ์ผิดซึ่งเดิมทีฉันต้องการแก้ไข แต่สุดท้ายกลับถูกย้อนกลับ หากมีเซิร์ฟเวอร์หลายเครื่อง ขอแนะนำให้ปรับใช้โดยอัตโนมัติ เครื่องที่มีการเปลี่ยนแปลงรหัสจะถูกลบออกจากกลุ่มบริการปัจจุบันชั่วคราว จากนั้นจึงเข้าร่วมอีกครั้งหลังจากการอัปเดตเสร็จสิ้น
ไม่ว่าโปรเจ็กต์จะเล็กแค่ไหน จงพัฒนานิสัยที่ดีในการใช้การจัดการเวอร์ชัน อย่างน้อยก็สามารถใช้เป็นข้อมูลสำรองของคุณได้ แม้ว่า http://zhiyi.us ของฉันจะเป็นเพียง WordPress แต่ก็ยังคงเป็น svn หนึ่งหรือสอง CSS ก็ไม่เป็นไร
3. ฮาร์ดแวร์เซิร์ฟเวอร์
อย่าอิจฉาลูกค้ารายใหญ่และคนรวย ลองดูพื้นที่ค้าปลีกของห้องคอมพิวเตอร์เพียงอย่างเดียว หากคุณมีเงินทุนเพียงพอ ขอแนะนำให้มีการกำหนดค่ามาตรฐานอย่างน้อยสามแบบสำหรับการประมวลผลเว็บ ฐานข้อมูล และการสำรองข้อมูล เว็บเซิร์ฟเวอร์ต้องการหน่วยความจำอย่างน้อย 8G และ dual sata raid1 หากเศรษฐกิจมีน้อย หรือมีไฟล์หรือรูปภาพคงที่จำนวนมาก ดังนั้น 15k sas raid1+0 ฐานข้อมูลต้องมีหน่วยความจำอย่างน้อย 16G และ 15k sas raid 1+0 วิธีที่ดีที่สุดคือกำหนดค่าเซิร์ฟเวอร์สำรองด้วยการกำหนดค่าเดียวกันกับเซิร์ฟเวอร์ฐานข้อมูล สำหรับฮาร์ดแวร์ คุณสามารถซื้อแชสซีของแบรนด์ของคุณเองได้ กล่าวคือ แชสซีนั้นมาพร้อมกับเมนบอร์ดและกล่องฮาร์ดดิสก์ และคุณสามารถจับคู่ CPU หน่วยความจำ และฮาร์ดดิสก์ได้ด้วยตัวเอง คุณยังสามารถซื้อชุดอุปกรณ์ทั้งหมดได้ ยี่ห้อหรือจะเข้ากันได้กับเครื่องก็ได้ ด้วยเครื่องจักร 3 เครื่อง ราคาตลาดอยู่ที่ 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 ล่ะ? เรียน China Netcom และ China Unicom ได้ควบรวมกิจการกันเมื่อนานมาแล้วและได้เปลี่ยนชื่อเป็น China Unicom ค้นหามากมาย เยี่ยมชมสถานที่ ทดสอบมากมาย และสอบถามในหลายๆ ทาง ยังมีห้องคอมพิวเตอร์คุณภาพสูงมากมายในเมืองหลักๆ เช่น ปักกิ่ง เซี่ยงไฮ้ และกว่างโจว ค้นหาห้องคอมพิวเตอร์ที่มีคุณภาพเครือข่ายที่ดีและ การจัดการที่เข้มงวด โดยเฉพาะการจัดการจะต้องเข้มงวด อย่า ไม่สามารถเข้าถึงเว็บไซต์ได้ หลังจากโทรศัพท์ คุณพบว่ามีคนอื่นทำสายเคเบิลเครือข่ายของคุณหลุดระหว่างการบำรุงรักษา นี่เป็นเรื่องที่น่าปวดหัวมากกว่า 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 ดูคำแนะนำในการอัพเกรด และประเมินตามสถานการณ์ของคุณเอง ยิ่งคุณอัพเกรดเร็วเท่าไหร่ก็ยิ่งดีเท่านั้น ยังคงมีความรับผิดชอบอย่างมากในการอัพเกรดโปรแกรมโอเพ่นซอร์สที่ยอดเยี่ยม ให้ความสนใจกับเอกสารประกอบและอย่ากลัว
หกประเด็นข้างต้นได้ถูกจัดเตรียมไว้แล้ว เมื่อเรามีสภาพแวดล้อมการทำงาน โครงกระดูกสถาปัตยกรรมพื้นฐาน และแผนการสำรองและสับเปลี่ยนแล้ว เราควรเริ่มออกแบบและพัฒนาสิ่งต่างๆ มีหลายสิ่งที่อยู่ระหว่างการพัฒนา และบทความถัดไปจะพูดถึงประเด็นสำคัญบางประการก่อน
ที่อยู่เดิม: http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html
โปรดระบุแหล่งที่มาของการพิมพ์ซ้ำคือ zhiyi.us