Bahasa Go, sebagai bahasa pengaturcaraan yang cekap dan ringkas, juga mempunyai set penyelesaiannya sendiri untuk pemilihan perisian tengah. Sebagai infrastruktur untuk membina perkhidmatan Web, perisian tengah boleh memainkan peranan penting dalam prestasi, kefungsian dan keselamatan aplikasi Web berskala besar. Dalam artikel ini, kami akan memperkenalkan perisian tengah yang biasa digunakan dalam bahasa Go.
1. Rangka kerja Web
Rangka kerja web ialah bahagian penting perisian tengah ia memudahkan pembangunan aplikasi Web dengan menyediakan fungsi seperti penghalaan, enjin templat dan pengawal. Dalam bahasa Go, rangka kerja web yang paling popular adalah seperti berikut:
Gin ialah rangka kerja web ringan berdasarkan httprouter, dengan Ciri pantas seperti padanan laluan , sokongan perisian tengah, rendering pilihan dan pengurusan ralat. Prestasinya sangat baik dan ia digunakan oleh sebilangan besar pembangun bahasa Go.
Echo ialah rangka kerja web yang ringkas, cekap dan mudah digunakan yang menyokong penghalaan pantas, perisian tengah, templat, WebSocket dan fungsi lain. Reka bentuknya menyepadukan ciri menaip yang kukuh dan keupayaan cekap bahasa Go.
Beego ialah rangka kerja web berdasarkan corak reka bentuk MVC Ia disertakan dengan rangka kerja ORM (bahasa Go menyediakan lebih sedikit rangka kerja ORM) dan menyokong berbilang storan Sistem memori, ORM dan pemacu cache mempunyai fungsi praktikal terbina dalam seperti pengantarabangsaan dan pengesahan. Ia digunakan secara meluas oleh pembangun di seluruh dunia.
2. Log
Pelog dalam bahasa Go adalah sangat mudah Ia boleh merekodkan status berjalan dan maklumat ralat aplikasi untuk memudahkan penyelesaian masalah dan penyelenggaraan masa hadapan. Berikut ialah beberapa rangka kerja pengelogan bahasa Go yang sangat popular:
Logrus ialah perpustakaan pengelogan yang sangat mudah digunakan dan mempunyai sejumlah besar pilihan penyesuaian. Mampu menulis log secara automatik ke output standard, fail, log kelabu, syslog dan tempat lain.
Zap ialah perpustakaan log berprestasi tinggi yang dibangunkan oleh Uber Berbanding dengan Logrus, ia mempunyai pengoptimuman prestasi yang ketara. Ciri Zap ialah ia menyokong pengelogan bertaip, yang mengelakkan faktor tidak terkawal log penyambung rentetan biasa.
3. Caching
Caching ialah cara penting untuk mengoptimumkan prestasi perkhidmatan web. Dalam bahasa Go, alatan caching berikut juga mempunyai kadar penggunaan yang tinggi:
Redis ialah storan struktur data dalam memori yang menyokong pelbagai jenis data. sistem menyokong kegigihan data dan biasanya digunakan sebagai pelayan cache. Terdapat banyak pilihan untuk pemandu Redis dalam bahasa Go, seperti Go-Redis, Redigo, dll.
Memcached ialah sistem caching data dalam memori dan salah satu kaedah caching yang digunakan secara meluas dalam perkhidmatan Web. Pemacu memcached dalam bahasa Go termasuk Go-Memcache dan sebagainya.
4. ORM
ORM (Object-Relational Mapping) ialah teknologi pengaturcaraan yang memetakan data pangkalan data hubungan kepada objek, menjadikannya lebih mudah untuk pembangun mengendalikan objek tanpa perlu berurusan dengan butiran mengenai operasi pangkalan data asas. Rangka kerja ORM dalam bahasa Go termasuk yang berikut:
Gorm ialah rangka kerja ORM sumber terbuka dengan fleksibiliti yang baik dan menyokong MySQL, PostgreSQL, SQLite dan jenis pangkalan data lain .
Xorm ialah rangka kerja ORM yang ringkas, mudah digunakan dan berkuasa yang boleh menyelesaikan operasi pada 13 jenis pangkalan data, dan kebolehselenggaraan kod dipertingkatkan dengan ketara. pengoptimuman.
5 Keselamatan
Keselamatan sentiasa menjadi faktor yang tidak boleh diabaikan dalam pembangunan perkhidmatan Web. Dalam bahasa Go, beberapa perisian tengah penyulitan yang biasa dan sangat digunakan adalah seperti berikut:
bcrypt ialah pustaka fungsi cincang kata laluan yang boleh mencincang lajur (hash ), dengan itu mengurangkan kesan kebocoran kata laluan selepas pangkalan data diserang.
JWT (JSON Web Token) ialah cara ringkas dan serba lengkap untuk menghantar maklumat selamat antara pihak yang berkomunikasi, dengan seks kebolehpercayaan yang tinggi.
Ringkasan
Di atas ialah perisian tengah yang lebih biasa digunakan dalam bahasa Go. Perisian tengah ini digunakan secara meluas dalam proses pembangunan banyak aplikasi Web, meningkatkan kecekapan pembangunan, kebolehselenggaraan dan prestasi aplikasi Web, dan sangat memudahkan kesukaran pembangunan aplikasi Web.
Atas ialah kandungan terperinci Apakah middleware yang biasa digunakan dalam bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!