Skip to content
Jagoan Cloud Docs
  • Solutions
    • Server Ujian Online
    • Scalable WordPress
  • Products
    • Jagoan Cloud PaaS
      • Pricing
    • Cloud Backup
    • VPS Windows
    • Business Mail
    • SSL Certificate
  • Login App
Popular Search settingphpdomainthecodei

Rapor Digital Madrasah

  • Cara Instalasi RDM

Panduan Dasar

  • Cara Memasang SSL di Jagoan Cloud
  • Mengubah domain Jagoan Cloud ke Domain Sendiri
  • Cara Menambahkan IP Public
Quick Start
  • Getting Started
  • Dashboard Guide
  • Welcome Tutorial
  • Software Stack Versions
Platform Overview
  • What is Platform-as-a-Service
  • Concept and Terminology
  • What are System Containers
  • What are Application Containers
  • Isolated Containers
  • What is Auto-Clustering
  • Cloudlet
  • Architecture Overview
    • Cluster Orchestrator
    • Cluster Overview
Containers
  • Custom Container SSH Access
Application Settings
    Scaling and Clustering
    • Automatic Vertical Scaling
    • Horizontal Scaling
    • Automatic Horizontal Scaling
    • Data Synchronization
    • File Synchronization in Cluster
    • Auto-Clustering of Instances
Development Tools
    SSH
    • Generate SSH Key
    • Add SSH Key
    • SSH Access

Moodle

  • Cara Login ke Server Moodle di Jagoan Cloud
  • Cara Login ke Aplikasi Moodle di Jagoan Cloud
  • Cara Menggunakan Domain Pribadi untuk Aplikasi Moodle
  • Docs
  • Jagoan Cloud PaaS
  • Panduan Dasar
  • Application Settings
  • Scaling and Clustering
  • File Synchronization in Cluster

File Synchronization in Cluster

Daftar Isi
  • File Synchronization Between Several Application Servers in a Cluster
  • File Synchronization Add-on Implementation
  • Install Aplikasi
  • Test File Upload Without Synchronization
  • Apply File Synchronization
  • Check Log

File Synchronization Between Several Application Servers in a Cluster #

Seiring dengan meningkatnya trafik ke proyek kamu, performa aplikasi juga perlu ditingkatkan agar tetap bisa mengikuti permintaan. Memang, platform ini secara otomatis menyediakan ruang ekstra melalui vertical scaling sesuai batas yang ditetapkan. Tapi, seiring bertambahnya popularitas layananmu, kemungkinan besar Kamu akan butuh menambah jumlah node — alias melakukan horizontal scaling.

Namun, untuk banyak aplikasi populer seperti WordPress, Drupal, Joomla, Liferay, Redmine, dan sejenisnya, mendistribusikan aplikasi ke beberapa instance web server bisa jadi masalah. Hal ini karena file yang diunggah pengguna biasanya hanya tersimpan di node tempat upload dilakukan, sehingga node lain tidak memiliki file tersebut — menyebabkan data tidak sinkron.

Untuk mengatasi masalah itu, platform ini menyediakan add-on khusus bernama File Synchronization, yang bertujuan menjaga file upload tetap sinkron di semua instance web server. Menariknya, sinkronisasi ini bisa diterapkan di dalam satu environment dengan node horizontal scale, atau di dua environment berbeda, meskipun stack atau aplikasinya tidak sama.

File Synchronization Add-on Implementation #

Add-on ini menggunakan kombinasi dari lsyncd daemon – memonitor perubahan file, cron utility – untuk tugas terjadwal, dan inotify – hanya memicu sinkronisasi saat ada perubahan file nyata. Pendekatan ini jauh lebih ringan bagi CPU dibanding sinkronisasi terus-menerus, tapi tetap menjaga data kamu selalu terbarui, hemat resource, dan mudah digunakan.

Add-on File Sync bisa diinstal pada semua application server stack yang dikelola oleh platform, kecuali Docker containers.

Sebelum pemasangan, kamu akan diminta memilih folder yang ingin disinkronkan. Dengan begitu, hanya bagian tertentu dari file sistem aplikasi yang memang perlu sinkronisasi yang akan diproses — lebih efisien. Nantinya, hanya perubahan dalam direktori yang dipilih (pada salah satu instance server aplikasi) yang akan memicu proses sinkronisasi. 

Di bawah ini akan kami jelaskan mengenai langkah-langkah untuk melakukan sinkronisasi file ini.

Install Aplikasi #

Untuk contoh ini, kita akan menggunakan WordPress, yang dideploy dalam satu environment berisi dua server aplikasi NGINX + PHP.


💡 TIP

Instruksi di bawah ini juga sepenuhnya berlaku untuk aplikasi lain yang serupa, seperti Drupal, Joomla, Liferay, Redmine, dan sebagainya — baik yang berbasis Java, PHP, Ruby, maupun bahasa pemrograman lain yang didukung platform.

 

1. Kamu bisa menginstal aplikasi WordPress secara manual, atau gunakan paket satu klik (one-click package) yang tersedia di Marketplace untuk melakukan deploy secara otomatis dan lebih cepat.

 

Klik Install, lalu isi detail yang dibutuhkan seperti, environment name, display name (alias), versi PHP, fitur tambahan.

 

Konfirmasi instalasi dan tunggu sebentar hingga muncul pesan berisi data login admin. Informasi ini juga akan dikirim ke email kamu secara otomatis.

2. Klik Change Environment Topology, lalu gunakan tombol + di bagian Horizontal Scaling untuk menambahkan satu lagi application server node.
Dengan begitu, Kamu sudah membuat cluster WordPress yang siap digunakan untuk uji coba sinkronisasi file antar-node.

Jika sudah, klik “Apply”.


💡 TIP
Dengan mengikuti panduan di dokumentasi ini, Kamu bisa dengan mudah menambahkan application server tambahan, mengaktifkan high availability, atau bahkan mengatur solusi cluster secara penuh. Dalam contoh ini, kita cukup menambahkan satu server aplikasi lagi ke environment. Namun, jika Kamu ingin skenario yang lebih kompleks dan siap produksi, kamu bisa langsung konfigurasi solusi cluster lengkap untuk WordPress kamu agar lebih stabil, skalabel, dan tahan gangguan.

Test File Upload Without Synchronization #

1. Akses Admin Panel WordPress

Tambahkan /wp-login.php di akhir domain environmentmu, contohnya:

https://nama-environmentmu.jh-beon.cloud/wp-login.php 

Lalu, login menggunakan kredensial admin yang sudah Kamu terima lewat email saat instalasi tadi.

2. Setelah berhasil login, lakukan beberapa perubahan pada situs WordPress kamu

Sebagai contoh kita upload gambar ke menu Media.

3. Sekarang, kembali ke dashboard app.jagoan.cloud, lalu klik tombol Config yang ada di sebelah layer App Server (application server).

4. Arahkan ke direktori webroot dengan cara : dari Favorites → ROOT → wp-content. Lakukan ini pada kedua node di layer aplikasi, lalu bandingkan isinya.


📝 NOTE
Lokasi direktori tempat file hasil upload disimpan tergantung dari aplikasi yang kamu gunakan. Berikut daftar folder upload untuk beberapa aplikasi populer:

  • WordPress → webroot/ROOT/wp-content
  • Drupal → webroot/ROOT/sites
  • Joomla → webroot/ROOT/images
  • Liferay → webroot/home/liferay/data

Pastikan Kamu memilih direktori yang tepat saat mengaktifkan fitur File Synchronization, agar sinkronisasi berjalan sesuai dengan struktur file aplikasi yang kamu pakai.

Seperti yang bisa Kamu lihat, salah satu instance app server (misalnya Node ID 54502) memiliki file baru di direktori uploads, sedangkan instance lainnya (misalnya Node ID 54505) belum memiliki file tersebut.

Apply File Synchronization #

Untuk menyinkronkan konten antar node di dalam cluster, maka kita perlu mengaktifkan add-on File Synchronization.

1. Temukan dan install addon File Synchronization pada menu Marketplace.

2. Pada kotak dialog yang muncul setelah Kamu klik Install, Kamu perlu mengatur beberapa parameter sinkronisasi tambahan : 

Di bagian ini, kamu perlu menentukan apakah proses File Synchronization akan dijalankan dalam satu environment (seperti contoh pada tutorial ini) atau antara dua environment berbeda (tersedia sebagai opsi tambahan di formulir).

  • Sync path : Path folder yang ingin disinkronkan, relatif terhadap direktori webroot.
    Contoh: /ROOT/wp-content untuk WordPress.
  • Sync delay (sec) : Waktu jeda antar proses sinkronisasi, dalam detik. Misal: 10 untuk delay 10 detik.
  • Environment name : Pilih environment tempat kamu ingin mengaktifkan sinkronisasi, dari daftar yang tersedia.
  • Nodes : Layer application server akan terisi otomatis setelah environment dipilih. Kamu tinggal pilih node-node yang akan disinkronkan.

Jika sudah Kamu konfigurasi, klik Install.


💡 TIP
Untuk menjalankan sinkronisasi antar dua environment berbeda, kamu perlu menginstal add-on File Synchronization di web server masing-masing environment.Pastikan kamu memilih opsi “Two environments synchronization” pada saat instalasi, lalu lakukan konfigurasi pada kedua environment secara terpisah.Berikut parameter tambahan yang harus diisi:

  • 2nd Environment IP: Alamat IP dari salah satu application server node di environment kedua. Gunakan internal IP jika kedua environment berjalan di platform dan region yang sama. Gunakan external IP jika berada di region/platform yang berbeda.
  • Password (opsional): Jika ingin mengamankan sinkronisasi, kamu bisa mengatur password. Pastikan password ini sama di kedua environment agar proses sinkronisasi berhasil.

3. Setelah proses instalasi selesai, akan muncul notifikasi instalasi selesai

4. Pada tahap ini Kamu bisa cek file yang sudah kamu upload di kedua node


💡 TIP

Jika kamu melakukan perubahan pada topologi environment dengan menambahkan app server baru, add-on File Synchronization akan secara otomatis menerapkan sinkronisasi file ke node baru tersebut.

 


📝 NOTE
Jika di dalam direktori yang disinkronkan terdapat mount point (misalnya mount dari storage eksternal), Kamu perlu mengecualikannya dari proses sinkronisasi agar tidak terjadi error atau konflik.Berikut ini langkah yang perlu dilakukan:

  1. Edit file konfigurasi sinkronisasi
  2. Buka file berikut di setiap node:
    <sync_path>/lsyncd/etc/lsyncd.conf 
  3. Tambahkan path mount point tersebut ke dalam daftar exception, agar tidak ikut disinkronkan oleh lsyncd.
  4. Restart proses sinkronisasi secara manual

Jalankan perintah berikut di masing-masing node :

for pid in $(ps aux | grep 'rsync\|lsyncd' | awk '!/grep/{print $2}'); do kill -9 $pid;  done

Command ini akan mematikan semua proses rsync dan lsyncd yang sedang aktif. Setelah itu, service akan otomatis berjalan kembali dengan pengaturan terbaru.

Sinkronisasi file akan berjalan otomatis setiap kali kamu menambahkan atau mengubah apa pun di WordPress-mu (atau aplikasi lain yang kamu gunakan). Dengan begitu, data di semua server akan selalu identik dan up-to-date, tanpa perlu intervensi manual.

Check Log #

Proses sinkronisasi bisa Kamu monitor melalui file log yang terletak di direktori berikut pada web server: webroot/lsyncd/var/log

Informasi paling penting terkait proses sinkronisasi dapat kamu temukan di dua file utama berikut:

  1. lsyncd.log – berisi catatan detail semua aktivitas sinkronisasi, termasuk file yang diubah, waktu sinkronisasi, dan event yang terjadi.
  2. lsyncd.status – menunjukkan status terkini dari proses sinkronisasi, seperti node mana yang aktif, apakah sinkronisasi berhasil, atau sedang berlangsung.

Semoga panduan ini membantu kamu ya!

What are your Feelings
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on June 25, 2025
Data SynchronizationAuto-Clustering of Instances

Powered by BetterDocs

Daftar Isi
  • File Synchronization Between Several Application Servers in a Cluster
  • File Synchronization Add-on Implementation
  • Install Aplikasi
  • Test File Upload Without Synchronization
  • Apply File Synchronization
  • Check Log
© 2022 Jagoan Cloud