Layanan web yang memungkinkan pengguna untuk secara mandiri memelihara budaya komunikasi online

Dalam posting sebelumnya , sebuah pendekatan baru untuk memoderasi diskusi Internet diusulkan, yang tidak memerlukan moderator atau pemungutan suara kolektif yang ditunjuk dan memungkinkan pengguna dari berbagai situs untuk mengatur dalam semacam Komunitas moderator. Pendekatan ini akan memungkinkan pengguna untuk mengontrol sendiri budaya komunikasi online, yang akan mengurangi beban pemilik situs web untuk memoderasi komentar.



Pembaca Habr ditawari contoh uji kecil dari rekaman komentar di mana dimungkinkan untuk mencoba pendekatan ini dalam tindakan.

Terima kasih kepada semua orang yang ikut serta dalam pengujian! Sudah statistik awal memungkinkan kami untuk mengatakan bahwa pembaca dengan percaya diri melakukan moderasi. Sekarang saatnya untuk pindah. Dalam posting ini, saya ingin membahas perangkat paling sederhana yang mungkin untuk layanan web yang menerapkan pendekatan ini. Sayangnya, pengalaman untuk pelaksanaan tugas semacam itu tidak cukup, oleh karena itu, saran dari komunitas Habr diperlukan.

Apa persyaratan saat ini untuk layanan web?

  • Koneksi yang mudah dari situs-situs baru ke layanan web.
  • fungsi dasar sederhana dari API moderasi.
  • pada tahap awal, itu harus menahan beban setidaknya 40-50
    secara bersamaan memoderasi pengguna.
  • dalam jangka panjang seharusnya tidak sulit untuk mengukur.

Dengan persyaratan ini, diagram layanan web yang disajikan dalam gambar masih menjulang.



Untuk menghubungkan situs Anda ke layanan web, pemilik situs perlu:

  • instal skrip di situs web js Anda yang merangkum fungsi untuk bekerja dengan API.
  • Tambahkan atribut moderat ke bidang input komentar , yang akan menjadi fokus skrip. Setelah itu, ketika Anda mengklik bidang komentar, dialog moderasi akan muncul.
  • Tambahkan atribut moderat ke setiap komentar di umpan , yang akan menjadi fokus skrip. Setelah itu, sebuah tombol akan muncul di sebelah setiap komentar yang memunculkan dialog moderasi.

Dalam proses kerjanya, skrip akan menggunakan fungsi-fungsi moderasi API berikut ini (tentu saja, akan ada lebih banyak fungsi yang harus memastikan fungsi Komunitas, tetapi sekarang kami hanya mempertimbangkan fungsi-fungsi dasar):

  • GetAccessToken , IN: api_key.
    Minta token sementara untuk pemeriksaan saat ini. Dalam token seperti itu, dienkripsi di sisi server, semua data yang diperlukan untuk server disimpan, memungkinkan server untuk mengidentifikasi pemindaian saat ini dan membedakan satu pemindaian dari yang lain. Token memiliki masa pakai yang terbatas. Pemilik situs harus mendaftarkan api_key unik di layanan web, yang termasuk dalam token.
  • GetChecks, IN: token. OUT:comments_list_for_check,last_comment_check_results
    . , , .
  • SetCheck, IN: token, comments_list_with_result, comment_for_check OUT: true/false
    . , ( ) true comment_for_check .

Apache mod_php saat ini direncanakan sebagai server web . Kelebihan: ini bekerja dengan cepat, membutuhkan pengetahuan konfigurasi minimum. Sebagai minus: skrip dijalankan dari satu pengguna apache.

Fungsi API layanan web direncanakan akan dijalankan di php . Pro: kecepatan pengembangan, lintas platform, kinerja yang dapat diterima. Cons: keamanan (namun, direncanakan untuk menggunakan versi 7, di mana ada lebih sedikit lubang)

Kami akan menggunakan Sphinx sebagai basis . Kelebihan: Instalasi mudah, kecepatan pencarian dan kemudahan penskalaan dibandingkan dengan db relasional. Minus: kurangnya permintaan bergabung, tetapi ini diselesaikan dengan struktur database yang benar.

Sejauh ini, tampaknya awalnya semua ini dapat dijalankan pada VPS biasa dan dengan demikian memastikan pekerjaan 40-50 pengguna moderasi pada saat yang sama. Jika beban meningkat, maka dalam VPS tidak akan sulit untuk menambahkan sumber daya (memori, prosesor, kapasitas disk), dan jika beban pada DB Sphinx meningkat, tidak akan sulit untuk menggunakan contoh lain dari Sphinx.

Pertanyaan:

Apa yang bisa menjadi "jebakan" dalam implementasi ini? Dan teknologi apa yang akan Anda gunakan untuk mengimplementasikan versi paling sederhana dari layanan web semacam itu?

Terimakasih atas perhatiannya !


All Articles