Multi Tenancy For laravel
فكرة الاستئجار وأن يكون عندك خدمة وبتأجرها هي فكرة صارت منتشرة في السوفتوير “SAAS”
وهي هاد نفس الفكرة اللي بتقوم عليها ال Multi Tenant الموضوع قائم علي ان يكون عندي نفس السوفتوير “مثلا نفس البرنامج او نفس الويبسايت” بنفس الكود ولكن لمستخدمين مختلفين و البيانات تاعتهم مختلفة .ولكن رح يقابلنا مجموعة من التحديات .
1. الحماية (Security).
من أهمها أني اخلي كل مستأجر او شركة ماتشوفش بيانات الشركة التانية.
2. العزل (Isolation).
هو انهم يكونوا منفصلين عن بعض .
ومن هنا نبدأ نفكر هو كيف ممكن نفصلهم عن بعض في الداتا ولكن يكونوا بيشتركوا في نفس الكود!
الموضوع هاد اله حلين :-
1. نستخدم Single database
وهنا هيكون الفصل في داتابيز واحدة عن طريق وجود id tenant وعن طريقه نقسم الداتا.
2. نستخدم . Multi Database
وهنا هيكون الفصل عن طريق وجود اكتر من قاعدة بيانات وكل شركة يكون الها قاعدة البيانات الخاصة فيها.
مثال :- لو انا عندي نظام محاسبي خاص في المطاعم مثلا وأرغب عند التسجيل بائع جديد واضافة الاسم التجاري الخاص به مثلا reesturent1 يتم انشاء قاعدة بيانات و subdomain باسم resturent1 و resturent1.eample.com فأفضل خيار هو استخدام ال Multi-Tenancy for Laravel Package.
لمزيد من المعلومات