{"id":6153,"date":"2019-01-04T17:28:15","date_gmt":"2019-01-04T08:28:15","guid":{"rendered":"https:\/\/chat-messenger.com\/?p=6153"},"modified":"2025-09-25T14:35:09","modified_gmt":"2025-09-25T05:35:09","slug":"load-balancing","status":"publish","type":"post","link":"https:\/\/chat-messenger.com\/id\/panduan\/camserver\/penyeimbang-beban","title":{"rendered":"Redundansi\/penyeimbangan beban CAMServer"},"content":{"rendered":"<p><style type=\"text\/css\"><!--\ntable, th, td {\n    border: none !important;\n}\n--><\/style><\/p>\n\n\n\n<h2>Tentang redundansi dan penyeimbangan beban<\/h2>\n\n\n\n<p><code>CAMServer<\/code> Dengan rencana Ultimate,<span class=\"swl-marker mark_blue\">Sangat mudah di lingkungan lokal<\/span>Server web dan video dapat dibuat redundan dan bebannya diseimbangkan. Hal ini memungkinkan layanan tetap berjalan bahkan jika satu server mati, dan bahkan ketika digunakan oleh banyak pengguna, pemrosesan dapat didistribusikan dan layanan dapat disediakan tanpa penurunan kinerja.<\/p>\n\n\n\n<p>Selain itu, konfigurasi terdistribusi <code>CAMServer<\/code> Namun, komunikasi real-time dimungkinkan. Misalnya,<code>CAMServer1<\/code> Klien yang terhubung ke<code>CAMServer2<\/code> Anda dapat mengobrol atau mengadakan konferensi web dengan Klien lain yang terhubung.<\/p>\n\n\n\n<p class=\"is-style-big_icon_point\">- Penyeimbangan beban konferensi web didasarkan pada jumlah konferensi aktif dan jumlah pengguna yang berpartisipasi.<br>\u30fbJumlah konferensi web yang dilakukan secara bersamaan hanya<code>CAMServer<\/code>Hal ini tidak dapat dicapai hanya dengan menambahkan lebih banyak node. Penting juga untuk mempertimbangkan konfigurasi jaringan sehingga semua konferensi tidak diteruskan melalui VPN atau router pusat yang sama.<\/p>\n\n\n\n<h2>Konfigurasi redundansi\/distribusi beban<\/h2>\n\n\n\n<p>Anda dapat mengonfigurasi lingkungan optimal sesuai dengan tingkat permintaan dan biaya perusahaan Anda.<\/p>\n\n\n\n<h3>Konfigurasi awal yang kecil<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img width=\"1761\" height=\"1049\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-7.png\" alt=\"\" class=\"wp-image-10911\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ul><li><strong>Penyimpanan:<\/strong>Tempatkan DB\/File di sisi CAMServer1 dan referensikan juga dari CAMServer2. Bahkan dalam hal ini, seluruh pengguna dapat berbagi data secara real time.<\/li><li><strong>cadangan<\/strong>: Data DB\/File perlu dicadangkan ke CAMServer2 setiap hari.<\/li><li><strong>distribusi beban<\/strong>: Penyeimbangan beban dapat dilakukan dengan membagi CAMServer yang diakses berdasarkan departemen (atau menjadikannya sistem siaga). Konferensi web selalu dapat diseimbangkan bebannya.<\/li><li><strong>ketersediaan<\/strong>: Pengaturan koneksi DB saat terjadi kegagalan pada Unit 1 <code>cam.serverDatePath<\/code> Jika terjadi kegagalan disk,<span style=\"color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal); background-color: var(--color_content_bg);\">cadangan<\/span>selesai<span style=\"color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal); background-color: var(--color_content_bg);\">Data hingga hari sebelumnya dijamin.<\/span><\/li><li><strong>biaya<\/strong>:Konfigurasi termurah. Anda dapat memulai dengan satu konfigurasi unit dan meningkatkannya sesuai dengan beban.<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3>Konfigurasi Penyimpanan Eksternal (NAS).<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img width=\"2151\" height=\"1046\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-8.png\" alt=\"\" class=\"wp-image-10912\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ul><li><strong>Penyimpanan<\/strong>: Tempatkan DB\/File pada NAS Penyimpanan eksternal yang sangat tahan lama dengan konfigurasi RAID dan rujuk ke CAMServer1 dan CAMServer2. Atau tentukan NAS virtual yang disediakan oleh OS host platform virtualisasi.<\/li><li><strong>cadangan<\/strong>: Bahkan dengan konfigurasi RAID, data DB\/File perlu dicadangkan setiap hari untuk memperhitungkan kegagalan catu daya\/casing dan kegagalan manusia.<\/li><li><strong>distribusi beban<\/strong>: Sama seperti konfigurasi awal kecil.<\/li><li><strong>ketersediaan<\/strong>: Ketika terjadi kegagalan,<a href=\"https:\/\/chat-messenger.com\/id\/panduan\/install_verup\/aplikasi-web-kamera\/\">Versi aplikasi web<\/a> Jika Anda menggunakan <code>cam.clusterHosts<\/code>Ia dapat mendeteksi dan melakukan failover secara otomatis.<\/li><li><strong>biaya<\/strong>: Konfigurasi yang relatif murah.<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<h3>Konfigurasi penyimpanan eksternal redundan<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img width=\"2661\" height=\"1074\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-9.png\" alt=\"\" class=\"wp-image-10913\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ol><li><strong>Penyimpanan<\/strong>: Konfigurasi yang menggunakan server berbagi file redundan (Windows Server Failover Clustering + SAN, AWS S3 + rclone, dll.) dan menekankan ketersediaan tinggi terhadap kegagalan disk.<\/li><li><strong>cadangan<\/strong>: Data direplikasi secara otomatis, sehingga pencadangan tidak diperlukan tergantung kebijakan. Namun, jika Anda mempertimbangkan kegagalan manusia (seperti menghapus disk secara manual), Anda masih memerlukan cadangan.<\/li><li><strong style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); letter-spacing: var(--swl-letter_spacing,normal);\">distribusi beban<\/strong><span style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal);\">: Sama seperti konfigurasi awal kecil.<\/span><\/li><li><strong>ketersediaan<\/strong>:Server web sama dengan konfigurasi awal kecil. Peralihan otomatis dimungkinkan bahkan jika terjadi kegagalan karena kegagalan disk atau sasis.<\/li><li><strong>biaya<\/strong>:Biaya perkenalan tinggi. AWS S3 dapat dibangun dengan biaya murah, namun hal ini bukanlah suatu pilihan jika prioritas Anda adalah lokal.<\/li><\/ol>\n<\/div>\n<\/div>\n\n\n\n<h3>Konfigurasi Penyeimbang Beban<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full\"><img width=\"2110\" height=\"1078\" src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/05\/image-10.png\" alt=\"\" class=\"wp-image-10929\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<ul id=\"block-69008db6-8cd8-4d4e-b11d-b153c56e5de4\"><li><strong>Penyimpanan<\/strong>: Konfigurasi awal kecil \/ NAS \/ SAN dapat dipilih.<\/li><li><strong>cadangan<\/strong>: Sama seperti konfigurasi awal kecil \/ NAS \/ SAN.<\/li><li><strong style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); letter-spacing: var(--swl-letter_spacing,normal);\"><strong>distribusi beban<\/strong><\/strong><span style=\"background-color: var(--color_content_bg); color: var(--color_text); font-family: var(--swl-font_family); font-size: var(--swl-fz--content,16px); font-weight: var(--swl-font_weight); letter-spacing: var(--swl-letter_spacing,normal);\">:Dengan menempatkan Load Balancer di depan CAMServer, redundansi dan distribusi beban dapat dilakukan.<\/span>* <a href=\"#lb-requirements\">Detail persyaratan konfigurasi Load Balancer<\/a>Silakan periksa juga.<\/li><li><strong>ketersediaan<\/strong>: Failover otomatis dimungkinkan untuk semua lapisan bila digabungkan dengan konfigurasi penyimpanan eksternal redundan.<\/li><li><strong>biaya<\/strong>:Biaya perkenalan tinggi.<\/li><\/ul>\n<\/div>\n<\/div>\n\n\n\n<h2 id=\"load-balancing-settings\">Pengaturan redundansi\/penyeimbangan beban<\/h2>\n\n\n\n<h3>Ikhtisar Konfigurasi<\/h3>\n\n\n\n<p>Untuk mendukung redundansi CAMServer dan penyeimbangan beban, instal CAMServer di setiap server terdistribusi,<code>CAMServer\/boot.ini<\/code> Tambahkan entri berikut ke file.<\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.clusterHosts=camserver1;camserver2\ncam.clusterHostsDesc=camserver1 \u304c\u30e1\u30a4\u30f3\u30b5\u30fc\u30d0\u3001camserver2 \u306f\u5f85\u6a5f\u7cfb\u30b5\u30fc\u30d0\u3067\u3059\u3002\ncam.serverDatePath=\\\\disk\\CAMServer\\data\ncam.disableLANNetwork=true\n\n# \u30d3\u30c7\u30aa\u30b5\u30fc\u30d0\u306e\u5206\u6563\u8a2d\u5b9a\u3002\u300c\u30b5\u30fc\u30d0=\u30ce\u30fc\u30c9\u5206\u6563\u53c2\u52a0\u6570\u76ee\u5b89\u5024\u300d\u3067\u5b9a\u7fa9\u3002\ncam.videoDomains=camserver1=50;camserver2=50;camserver3=50<\/code><\/pre><\/div>\n\n\n\n<h3 id=\"clusterHosts\">cam.clusterHosts<\/h3>\n\n\n\n<p><code>cam.clusterHosts<\/code> adalah nama host (FQDN) dari setiap server terdistribusi. <code>;<\/code> Daftar ini dipisahkan oleh .<\/p>\n\n\n\n<h4>Saat memulai CAMServer pada port 443<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.clusterHosts=camserver1;camserver2 <\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\"><div class=\"wp-block-image is-style-border\">\n<figure class=\"alignleft is-resized\"><img src=\"\/images\/camserver_load-balancing_failover.png\" alt=\"\" width=\"357\" height=\"197\"\/><\/figure><\/div><\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p>Jika Anda memisahkan CAMServer untuk setiap departemen, tulis nama host lokal (FQDN) di awal file ini dari setiap CAMServer. Urutan enumerasi terpengaruh saat memilih server koneksi awal dan server video saat memulai. Selain itu,<a href=\"https:\/\/chat-messenger.com\/id\/panduan\/install_verup\/aplikasi-web-kamera\/\">Versi aplikasi web<\/a> Dengan menggunakan ini, dimungkinkan untuk mengganti server secara otomatis jika terjadi kegagalan.<\/p>\n\n\n\n<p>*Jika SSO atau autentikasi tanpa kata sandi tidak dikonfigurasi, Anda harus masuk lagi saat beralih.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h4>Saat memulai CAMServer pada port 8080<\/h4>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.clusterHosts=camserver1:8080;camserver2:8080 <\/code><\/pre><\/div>\n\n\n\n<p>Anda dapat menempatkan penyeimbang beban L7 di depan CAMServer dan meminta CAMServer meneruskan ke port 8080. Pengaturan dalam kasus tersebut seperti di atas. Dalam kasus ini, camapp tidak akan gagal karena penyeimbang beban bertanggung jawab atas kegagalan tersebut. Ini adalah <code>cam.serverURLDomain<\/code>,,<code>cam.clusterHosts<\/code> Bandingkan domain dan deteksi serta kendalikan ada atau tidaknya penyeimbang beban.<\/p>\n\n\n\n<h3>cam.clusterHostsDesc<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\"><div class=\"wp-block-image is-style-border\">\n<figure class=\"alignleft is-resized\"><img src=\"\/images\/camserver_load-balancing_clusterHostsDesc.png\" alt=\"\" width=\"370\" height=\"174\"\/><\/figure><\/div><\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p><code>cam.clusterHostsDesc<\/code> dapat mengubah komentar di kolom deskripsi server terdistribusi.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h3>cam.serverDatePath<\/h3>\n\n\n\n<p><code>cam.serverDatePath<\/code> Menentukan DB, tempat menyimpan lampiran yang diunggah. Tentukan disk bersama yang dapat diakses dari server terdistribusi.<\/p>\n\n\n\n<p class=\"is-style-big_icon_memo\">* Saat menentukan disk bersama dan menjalankan layanan <a rel=\"noreferrer noopener\" href=\"https:\/\/chat-messenger.com\/id\/panduan\/camserver\/launch_camserver_as_windows_service\/#svc_osuser\/\" target=\"_blank\">Pengguna OS yang menjalankan layanan Windows<\/a>Harus ditentukan<br>*Jika tidak ada disk bersama, sub CAMServer adalah CAMServer utama <code>CAMServer\/config<\/code> Penyimpanan juga dapat dibagikan dengan menentukan folder.<\/p>\n\n\n\n<h3 id=\"videoDomains\">cam.videoDomains<\/h3>\n\n\n\n<p>Pengaturan distribusi server video. Jika Anda mendefinisikannya sebagai berikut, ketika jumlah total peserta di ruang dalam urutan yang disebutkan melebihi 50, ruang konferensi akan dibuat di server berikutnya.<\/p>\n\n\n\n<p><code>cam.videoDomains=camserver1=50;camserver2=50;camserver3=50<\/code><br><\/p>\n\n\n\n<p class=\"is-style-icon_info\">\u30fbDapat dihilangkan jika cam.clusterHosts diatur<br>- Nilai ini tidak menunjukkan jumlah maksimum koneksi, tetapi hanya sekadar pedoman untuk penyeimbangan beban.<\/p>\n\n\n\n<h4>cam.nonaktifkanJaringanLAN<\/h4>\n\n\n\n<p>Koneksi TCP\/UDP untuk LAN tidak diperlukan dalam konfigurasi redundan, jadi harap nonaktifkan.<\/p>\n\n\n\n<div class=\"hcb_wrap\" data-no-translation=\"\"><pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>cam.disableLANNetwork=true<\/code><\/pre><\/div>\n\n\n\n<h2 id=\"Firewall\">Izin komunikasi firewall untuk sinkronisasi data antar server<\/h2>\n\n\n\n<ol><li>Pembaruan data waktu nyata (status kehadiran pengguna, pesan, ruang obrolan, dll.) disinkronkan antar Server CAM, sehingga diperlukan izin untuk komunikasi antar server menggunakan firewall, dll.<\/li><li>Port TCP 9090, 9091, dan 9092 untuk akses ke node master DB<\/li><li>Port TCP 8080 untuk URL koneksi server-ke-server<ul><li>Didefinisikan dalam file ini cam.clusterHosts <\/li><li>Contoh) cam.clusterHosts=camserver1:8080;camserver2:8080;camserver3:8080<\/li><\/ul><\/li><\/ol>\n\n\n\n<h2 id=\"lb-requirements\">Detail persyaratan Load Balancer<\/h2>\n\n\n\n<div class=\"wp-block-columns\">\n<div class=\"wp-block-column\">\n<figure class=\"wp-block-image size-full is-resized is-style-shadow\"><img src=\"https:\/\/chat-messenger.com\/wp-content\/uploads\/2024\/12\/image-9.png\" alt=\"\" class=\"wp-image-11408\" width=\"401\" height=\"291\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column\">\n<p>Kami akan menjelaskan detail persyaratan yang diperlukan untuk konfigurasi Load Balancer.<\/p>\n\n\n\n<p class=\"is-style-icon_info\">L7\/L4 didukung, tetapi afinitas sesi diperlukan. Harap perhatikan bahwa L7 dapat memperbaiki koneksi per sesi, tetapi L4 hanya dapat memperbaiki koneksi berdasarkan IP. Bagian ini menjelaskan cara mengonfigurasi L7.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h4>1. Penghentian SSL<\/h4>\n\n\n\n<ol><li>Instal sertifikat SSL pada penyeimbang beban dan lakukan dekripsi SSL\/TLS.<\/li><li>Komunikasi dari klien diterima menggunakan HTTPS, dan HTTP digunakan dari penyeimbang beban ke backend.<\/li><\/ol>\n\n\n\n<h4>2. Algoritma penyeimbangan beban<\/h4>\n\n\n\n<ol><li>Penyeimbangan beban dengan round robin<\/li><li>Pemeliharaan sesi berbasis cookie (afinitas sesi) diperlukan, dan perlu dipastikan bahwa sesi tersebut memiliki fungsi untuk mendistribusikan akses dari Klien yang sama ke node yang sama.<\/li><\/ol>\n\n\n\n<h4>3. Header dan pemrosesan tambahan ditransfer ke server backend (8080)<\/h4>\n\n\n\n<p><code>X-Diteruskan-Proto<\/code><br>Item header yang mengidentifikasi permintaan sebagai https ketika LB meneruskannya ke server backend<\/p>\n\n\n\n<p><code>X-Diteruskan-Untuk<\/code><br>Item header yang mengidentifikasi alamat IP klien ketika LB meneruskannya ke server backend.<\/p>\n\n\n\n<p><code>Menangani header Peningkatan WebSocket<\/code><br>Menganalisis permintaan HTTP dan mendeteksi header Peningkatan, memicu peralihan TCP<\/p>\n\n\n\n<p class=\"is-style-icon_info\">Penyeimbang beban modern (AWS\/GCP\/Azure) memiliki pengaturan standar secara default.<\/p>\n\n\n\n<h3>4. Komunikasi dengan server backend<\/h3>\n\n\n\n<p>Komunikasi dari penyeimbang beban ke setiap CAMServer dilakukan menggunakan protokol dan port berikut.<\/p>\n\n\n\n<ul><li>Protokol: HTTP<\/li><li>Nomor port: 8080<\/li><li>Contoh koneksi: http:\/\/HOSTNAME:8080\/<\/li><\/ul>\n\n\n\n<h3>5. Pemeriksaan Kesehatan<\/h3>\n\n\n\n<ol><li>Penyeimbang beban secara berkala meminta URL berikut dan menentukannya sebagai &quot;normal&quot; jika ketentuan terpenuhi.<\/li><li>URL Pemeriksaan Kesehatan: http:\/\/HOSTNAME:8080\/CAMServer\/healthCheck<\/li><li>Kondisi pemeriksaan kesehatan: Kode status HTTP: 200 isi respons: {\u201cstatus\u201d:200}<\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Mengenai redundansi dan penyeimbangan beban, paket Ultimate CAMServer memungkinkan Anda dengan mudah [\u2026]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":""},"categories":[17],"tags":[],"_links":{"self":[{"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/posts\/6153"}],"collection":[{"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/comments?post=6153"}],"version-history":[{"count":9,"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/posts\/6153\/revisions"}],"predecessor-version":[{"id":12264,"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/posts\/6153\/revisions\/12264"}],"wp:attachment":[{"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/media?parent=6153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/categories?post=6153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/chat-messenger.com\/id\/wp-json\/wp\/v2\/tags?post=6153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}