ProgrammerZamanNow / qna

Q&A Bareng Programmer Zaman Now, Orang Ganteng dan Intelek
268 stars 7 forks source link

Bagaimana manajemen repository yang baik untuk multi-tenant project? #510

Open trio-dgit opened 1 year ago

trio-dgit commented 1 year ago

Halo mas Eko,

Saya memiliki satu project dengan tenant/client yang berjumlah lebih dari 1. Setiap tenant memiliki custom fitur yang belum tentu diinginkan oleh tenant yang lain. Pertanyaan saya bagaimana best-practice menghandle repository project dengan multi tenant seperti ini? Solusi saya saat ini adalah dengan membuat sebuah main repository, lalu repository setiap client akan difork melalui main repository. Jadi jika terdapat changes umum, akan dipush ke main repository, sehingga semua tenant bisa memperoleh changes. Perubahan custom akan tetap tercatat pada masing-masing repo tenant.

Terima Kasih.

edit: setiap tenant memiliki database tersendiri (decentral), tidak terpusat pada satu database (central).

agus24 commented 1 year ago

in my humble opinion jika tenant memiliki custom feature maka buatin aja library khusus (private library) untuk fitur2nya. contoh fitur sales tenant A maka akan pake library tenant A, sales tenant B akan pake library tenant B.

untuk global feature bisa pake base project masing2 untuk databasenya masing2 tenant ttp perlu database sendiri. jika ada data yang di consume rame2 bisa buka API untuk akses datanya