Saat Anda memulai blog dengan nama domain Anda sendiri, postingan pertama Anda harus sedikit lebih penting agar layak mendapatkan nama domain $4. Sebagai seorang praktisi teknis selama sepuluh tahun, setelah sepuluh tahun berkelana, saya menemukan bahwa ada beberapa pengetahuan yang harus saya baca di seluruh dunia untuk memilah sebuah petunjuk. Izinkan saya menjelaskannya secara sistematis langkah demi langkah dari awal dapatkah situs web kecil dengan ribuan pengunjung, atau situs web kecil dengan satu atau dua juta pengunjung setiap hari, dapat melewati tahap ini dengan lancar tanpa ada kekurangan yang melekat dalam teknologi? memahami teknologi. siapa.
Setiap orang yang mengetahui Internet memiliki idenya sendiri, dan beberapa orang mempraktikkan idenya, membangun situs web, dan mulai mengoperasikannya. Faktanya, dari sudut pandang teknologi situs web murni, berkat berkembangnya model sumber terbuka, kini membangun situs web kecil menjadi sangat mudah dan murah. Ketika jumlah kunjungan mencapai tingkat tertentu, biaya mulai melonjak, dan masalah mulai bermunculan. Peningkatan biaya yang disebabkan oleh peningkatan bandwidth, perluasan perangkat keras, dan penambahan personel sudah jelas, dan sebagian besar biaya disebabkan oleh rekonstruksi kode, rekonstruksi arsitektur, dan bahkan penggantian bahasa pengembangan yang mendasarinya Masalah terbesar adalah kehilangan data setelah bekerja keras selama beberapa tahun, Anda dapat kembali ke keadaan sebelum memulai bisnis dalam semalam.
Mengurangi biaya berarti meningkatkan keuntungan. Banyak hal yang bisa kita hindari di awal. Dengan meletakkan fondasi yang baik terlebih dahulu, kita bisa menghemat banyak tenaga dan kekhawatiran di kemudian hari.
Misalkan Anda adalah orang teknis yang terlibat dalam memulai bisnis, dan saat ini Anda sedang bangkrut, Anda harus melakukan semuanya sendiri dan membayarnya sendiri, Anda memerlukan dana awal ratusan ribu untuk membangun situs web dengan aplikasi yang tidak terlalu rumit Anda harus memperhatikan hal-hal berikut:
1. Bahasa perkembangan
Secara umum, ketika teknisi (pemrogram) memulai bisnis, mereka memilih bahasa yang paling mereka kenal berdasarkan latar belakang teknis mereka. Namun, mengingat Anda tidak selalu bisa menulis program sendirian, Anda harus memikirkan hal ini dengan cermat. Apa pun bahasa yang digunakan, kualitas kode akhir bergantung pada manajemen, jadi kita harus praktis dari tingkat bahasa murni. Java, php, .net, python, dan ruby yang populer semuanya memiliki kelebihan dan kekurangannya masing-masing.Untuk python dan ruby, perekrutan personel masih relatif sulit, dan optimalisasi kinerja akan membutuhkan usaha membeli server windows. Java dan PHP masih paling banyak digunakan. Untuk website yang aplikasinya hampir selalu didukung oleh front end pada tahap awal, PHP memiliki keunggulan yang sedikit lebih besar, seperti entri yang mudah, pola desain yang sederhana, penulisan yang cepat, dan performa yang memadai juga merupakan salahnya kelemahannya, dan mudah menjadi longgar, memiliki banyak bug tersembunyi, dan sulit untuk dipelihara. Keuntungan Java adalah seluruh proses manajemen dibantu oleh banyak alat yang matang, dan pengetikan yang kuat juga dapat menghindari beberapa bug cacat mental. Kebanyakan programmer JAVA lebih memperhatikan pola desain, terlepas dari praktis atau tidaknya format kode masih terlihat bagus. Ini juga merupakan kelemahannya. Pemula mungkin terlalu fokus pada pola dan kesulitan menyelesaikan kebutuhan sebenarnya.
Front end bukan hanya HTML dan CSS. Seluruh bagian yang bertanggung jawab untuk berinteraksi dengan pengguna adalah front end, termasuk handler. Masih disarankan untuk menggunakan PHP untuk program jenis ini. Alasan utamanya adalah karena program ini dikembangkan dengan cepat dan memiliki banyak praktisi. Sedangkan untuk backend, seperti analisis perilaku, antarmuka bank, pemrosesan pesan asinkron, dll., apa pun program yang Anda gunakan, Anda hanya dapat memilih bahasa yang berbeda sesuai dengan kebutuhan bisnis yang berbeda.
2. Manajemen versi kode
Jika kecepatan jaringan antar developer sama, gunakan SVN; jika lebih tersebar, misalnya antar negara, gunakan hg. Kebanyakan orang masih menggunakan svn.
Dengan asumsi Anda memilih svn, ada beberapa pertimbangan. Salah satunya adalah struktur pohon apa yang akan digunakan. Pada tahap awal, mungkin hanya ada satu cabang, tetapi nantinya Anda perlu mendirikan cabang, seperti cabang pengembangan dan cabang online, nanti mungkin ada satu cabang untuk setiap tim. Disarankan untuk memilih dua cabang di awal ketika jumlah orangnya sedikit, pengembangan dan online. Setelah pengujian lokal untuk setiap fungsi sudah benar, serahkan ke cabang pengembangan. Terakhir, pengujian terpadu dapat digabungkan ke dalam cabang online saat berjalan on line. Jika Anda suka menggunakan svn sebagai hard disk seluler, tidak masalah jika Anda menulis sedikit dan mengkomitnya sekali, tetapi akan menjadi sedikit lebih besar saat digabungkan. Orang-orang ini dapat membuat cabang atau bahkan gudang kode lokal , kirimkan ke cabang mereka sendiri sesuka hati, lalu uji lagi.
Penerapan dapat dilakukan secara manual atau otomatis. Penerapan manual relatif sederhana, biasanya svn memperbarui langsung di server, atau mencari direktori baru svn checkout, dan kemudian meneruskan root web ke ln -s. Semakin kompleks aplikasinya, semakin rumit penerapannya. Tidak ada standar terpadu. Hanya saja, jangan gunakan unggahan ftp. Pertama, tingkat kesalahan referensi file yang tidak konsisten meningkat saat mengunggah tidak sesuai dengan versi online, sehingga terjadi kesalahan ketik yang awalnya ingin saya perbaiki tetapi akhirnya dibatalkan. Jika ada beberapa server, tetap disarankan untuk menyebarkan secara otomatis. Mesin yang kodenya diubah akan dihapus sementara dari kumpulan layanan saat ini, dan kemudian bergabung kembali setelah pembaruan selesai.
Tidak peduli seberapa kecil proyeknya, kembangkan kebiasaan yang baik dalam menggunakan manajemen versi. Setidaknya itu dapat digunakan sebagai cadangan Anda. Meskipun http://zhiyi.us saya hanyalah sebuah WordPress, itu tetap svn satu atau dua css, tidak apa-apa.
3. Perangkat keras server
Jangan iri dengan pelanggan besar dan orang kaya Lihatlah area ritel ruang komputer. Jika Anda memiliki dana yang cukup, disarankan untuk memiliki setidaknya tiga konfigurasi standar untuk pemrosesan web, database, dan pencadangan. Server web memerlukan setidaknya memori 8G dan dual sata raid1. Jika perekonomian sedikit longgar, atau ada banyak file atau gambar statis, maka 15k sas raid1+0. Basis data harus memiliki setidaknya memori 16G dan 15k sas raid 1+0. Yang terbaik adalah mengkonfigurasi server cadangan dengan konfigurasi yang sama dengan server database. Untuk hardware bisa membeli chasis merk sendiri, yaitu chasis dilengkapi dengan motherboard dan box harddisk, serta bisa mencocokkan sendiri CPU, memori, dan harddisknya merek, atau dapat kompatibel dengan mesin. Dengan tiga mesin, harga pasarnya adalah RMB 60.000 hingga RMB 70.000.
Server web dapat menjalankan program dan berfungsi sebagai cache memori, sedangkan server database hanya menjalankan database utama (jika MySQL). Server cadangan melakukan pekerjaan yang relatif lebih banyak. Konfigurasi web, konfigurasi cache, dan konfigurasi database harus konsisten dengan dua yang sebelumnya. Dengan cara ini, jika ada masalah dengan WEB atau database, ubah alamat IP server cadangan dan alihkan ke sana. Strategi pencadangan dapat berupa drbd, rsync, atau banyak solusi pencadangan sumber terbuka lainnya yang dapat dipilih. rsync adalah yang paling sederhana, cukup masukkan ke dalam cron dan jalankan sendiri. Untuk pencadangan dan peralihan, disarankan untuk melakukan lebih banyak pengujian, memilih yang paling aman dan paling sesuai untuk bisnis, dan sebisa mungkin melakukan pencadangan di lokasi di luar lokasi.
4. Ruang komputer
Cobalah untuk tidak memilih tiga jenis ruang komputer: ruang komputer China Unicom dengan akses sangat lambat ke China Unicom, ruang komputer China Unicom dengan akses China Telecom yang sangat lambat, dan ruang komputer China Mobile atau China Railcom dengan akses China Unicom yang sangat lambat. Bagaimana dengan ruang komputer Netcom? Yang terhormat, China Netcom dan China Unicom sudah lama bergabung dan berganti nama menjadi China Unicom. Cari banyak, kunjungi di tempat, banyak uji, dan tanyakan dengan banyak cara. Masih banyak ruang komputer berkualitas tinggi di kota-kota besar seperti Beijing, Shanghai, dan Guangzhou manajemen yang ketat. Secara khusus, manajemen harus ketat. Jangan Situs web tidak dapat diakses. Setelah panggilan telepon, Anda mengetahui bahwa orang lain menjatuhkan kabel jaringan Anda selama pemeliharaan. Jika Anda menarik sendiri beberapa serat optik, itu disebut ruang komputer. Itu tergantung pada toleransi risiko dan kualitas psikologis Anda. Ruang komputer bisa dikatakan sangat penting, berhubungan langsung dengan kecepatan akses website, kecepatan akses website berhubungan langsung dengan pengalaman pengguna VPN game online untuk membuka situs web Anda yang tidak terlalu terkenal. Mungkin Ajax situs web Anda sangat bagus, tetapi dokumennya tidak pernah siap, dan beberapa kode selalu diisolasi dari pengguna.
5. Struktur
Arsitektur awal umumnya relatif sederhana, terdiri dari penyeimbangan beban web + database master-slave + cache + penyimpanan terdistribusi + antrian. Secara umum, memang hanya ada beberapa hal ini. Secara detail, banyak artikel yang mengulanginya. Menurut masa depan, akan ada N lebih banyak WEB, N lebih banyak hubungan master-slave, N lebih banyak cache, dan N lebih banyak. desain xxx. Solusi dasar semuanya sudah jadi. Ya, tapi yang membuat Anda lebih baik dari yang lain adalah desain Anda memperhitungkan efek longsoran salju ketika cache gagal, konsistensi data dan perbedaan waktu sinkronisasi master-slave, stabilitas. antrian dan strategi coba lagi setelah kegagalan, efisiensi penyimpanan file dan metode Cadangan dan situasi tak terduga lainnya. Cache suatu hari akan gagal, replikasi database suatu hari akan terganggu, antrian suatu hari tidak dapat menulis, dan catu daya suatu hari akan habis. Menurut Hukum Murphy, jika Anda tidak mempertimbangkan hal ini, cepat atau lambat situs web akan menjadi meja kopi.
6. Perangkat lunak server
Linux, nginx, php, dan mysql hampir standar. Selain melihat namanya, kita juga harus memilih versinya. Ada banyak distribusi Linux. Selama tidak ada persyaratan khusus, pilihlah yang memiliki pengguna terbanyak, komunitas paling aktif, konfigurasi paling nyaman, dan paket perangkat lunak terlengkap dan terbaru, seperti Debian dan Ubuntu. Sedangkan untuk RHEL dan sejenisnya, apakah menggunakan software yang hanya bisa berjalan di RHEL? Untuk sisa nginx, php, mysql, activemq, lain-lain, dll, kecuali Anda telah mengubah perangkat lunak ini atau program Anda benar-benar tidak kompatibel dengan versi baru, cobalah untuk memiliki versi yang lebih baru, semakin baik dan pengurangan bug, peningkatan kinerja. Selalu ada beberapa orang yang memberi tahu Anda melalui desas-desus bahwa versi lama stabil. Yang disebut stabilitas mengacu pada bisnis khusus. Sedangkan untuk situs web yang ditulis dalam PHP, kebanyakan orang tidak mengubah kode sumber perangkat lunak server apa pun, dan dapat dengan lancar ditingkatkan ke versi baru. Mirip dengan jdk5 ke jdk6, python2 ke python3, upgrade dengan perubahan yang relatif besar masih tergolong jarang. Lihatlah ChangeLog, lihat instruksi pemutakhiran, dan evaluasi berdasarkan situasi Anda. Semakin cepat Anda memutakhirkan, semakin baik. Yang lain menggunakan php6 untuk menulis program dan di sini kami masih menggunakan php4. Masih sangat bertanggung jawab untuk mengupgrade program open source yang bagus. Perhatikan dokumentasinya dan jangan takut.
Enam poin di atas telah disiapkan. Sekarang kita memiliki lingkungan operasi, kerangka arsitektur dasar, dan rencana pencadangan dan peralihan, kita harus mulai merancang dan mengembangkan berbagai hal. Ada banyak hal yang sedang dikembangkan, dan artikel berikutnya akan membahas beberapa poin penting terlebih dahulu.
Alamat asli: http://zhiyi.us/internet/thinking-twice-before-building-your-site-one.html
Harap tunjukkan sumber pencetakan ulang adalah zhiyi.us.