Solusi · Bot
VPS untuk bot Telegram
Sebuah bot dalam keadaan diam memakai kurang dari seratus megabyte dan menghabiskan waktunya untuk menunggu, jadi mesin hampir tidak pernah menjadi kendala: U1-1 seharga $6.90 per bulan sudah cukup untuk menjalankan satu bot dengan baik. Yang sebenarnya menentukan tagihan Anda adalah media, dan apakah Anda menjalankan server Bot API sendiri. Keduanya soal hitungan, dan keduanya ada di bawah.
Keputusan di balik keputusan
Webhook atau long polling
Hal inilah, bukan paketnya, yang menentukan apakah bot Anda memerlukan domain, sertifikat, dan port terbuka.
Long polling
Bot Anda terhubung keluar ke Telegram dan menunggu pembaruan. Tanpa domain, tanpa sertifikat TLS, tanpa port yang terbuka ke internet, dan dapat bekerja di balik NAT. Ini cara tercepat untuk membuat sesuatu berjalan dan merupakan solusi permanen yang sangat layak untuk sebagian besar bot.
Webhook
Telegram yang terhubung ke Anda. Memerlukan alamat publik, sertifikat yang valid, dan port terbuka (semuanya dapat dilakukan oleh paket mana pun di sini), dan sebagai gantinya tidak ada loop polling serta skalanya lebih baik di bawah beban nyata. Beralihlah ketika beban atau latensi menuntutnya, tidak sebelumnya.
Hitungannya
Berapa banyak bot yang benar-benar muat dalam satu paket
Bot = (RAM − 300 MB sistem operasi) ÷ memori yang dipakai satu bot. Kedua kolom adalah bot perintah stateless dan bot yang membawa ORM, penjadwal, dan cache.
| Paket | RAM | Bot ringan | Bot berat | Transfer | Harga | Deploy |
|---|---|---|---|---|---|---|
| U1-1Satu bot, audiens sebesar apa pun | 1 GB | 12 | 4 | Unmetered | $6.90 | Deploy |
| C1-1-25Satu bot, trafik dihitung tetapi murah | 1 GB | 12 | 4 | 1 TB | $9.90 | Deploy |
| GL2-4Beberapa bot, atau bot dengan database | 4 GB | 63 | 25 | Unmetered | $11.90 | Deploy |
| BD-8Server Bot API yang di-host sendiri | 8 GB | 131 | 52 | 32 TB | $12.90 | Deploy |
Jumlah pengguna bot Anda tidak ada dalam hitungan ini, karena memang bukan bagian dari masalahnya: Telegram menyerahkan pembaruan ke proses Anda satu per satu, bukan membuka koneksi per pengguna. Yang mengubah jawabannya adalah state yang Anda simpan sendiri: cache besar, database dalam proses, atau model.
Angka yang menentukan tagihan
Media, bukan memori
Rata-rata ukuran file × pesan per hari × 30. Kedua arah dihitung: file yang diterima juga merupakan trafik.
| Apa yang dipindahkan bot | 100/hari | 5,000/hari | 50,000/hari |
|---|---|---|---|
| Hanya teksSebuah perintah dan sebuah balasan. Praktis tanpa biaya. | < 1 GB | < 1 GB | 3 GB |
| FotoGambar terkompresi, dikirim dan diterima. | < 1 GB | 44 GB | 439 GB |
| Pesan suara dan video pendekBeban umum pada bot komunitas. | 9 GB | 439 GB | 4.3 TB |
| Dokumen dan video panjangBatas unduhan dari Telegram sendiri untuk bot biasa. | 59 GB | 2.9 TB | 28.6 TB |
Satu hal yang mengubah kebutuhan mesin
Bot pada Bot API publik dapat mengunduh file hingga 20 MB dan mengunggah hingga 50 MB (batasan Telegram, bukan batasan kami), dan file tersebut tidak pernah menyentuh disk Anda. Jika Anda menjalankan server Bot API sendiri, batasnya menjadi 2 GB dan setiap file tersimpan di server Anda. Di titik itulah disk dan transfer tidak lagi sekadar pelengkap: BD-8 memberi Anda 100 GB SSD dan 32 TB seharga $12.90, bentuk yang cocok untuk kebutuhan ini. Jika Anda tidak melakukan hal itu, jangan membayar untuknya.
Terus terang
Yang benar-benar akan kami beli
Kami sendiri menjalankan bot Telegram. Inilah mesin yang akan kami gunakan untuknya.
Untuk satu bot
U1-1 · $6.90/bln
1 core, 1 GB, 15 GB SSD, dan tanpa penghitungan trafik, sehingga bot yang tiba-tiba mulai memindahkan media tidak dapat menimbulkan tagihan yang tidak Anda duga. Jalankan bot di bawah systemd dengan Restart=always, dan satu-satunya cara tersisa bot bisa mati adalah kode Anda sendiri. Jika kebutuhan Anda bertambah, memindahkan bot cukup dengan menyalin sebuah direktori dan token.
Pertanyaan