دردرشة سريعة عن أنواع السيرفرات 💯
.
.
أغلبنا أول ما بيسمع كلمة Server بييجي في باله جهاز كبير في غرفة مكيفة، شغال 24 ساعة ومليان لمبات بتنور...
بس الحقيقة السيرفر مش لازم يكون جهاز ضخم… ممكن يكون مجرد Software أو Virtual Machine بيقدّم خدمة معينة.
الـ Server ببساطة هو جهاز (أو برنامج) بيستقبل Requests من أجهزة تانية اسمها Clients، وبيرد عليهم بـ Responses.
زي ما الـ Browser بيبعت طلب لموقع معين، والسيرفر بيرد عليه بالصفحة المطلوبة.
لكن السيرفرات مش كلها زي بعض… كل نوع له وظيفة مختلفة حسب الـ Use Case بتاعته...
———
📌 الـ Web Server
ده الأشهر، وهو اللي بيستقبل الـ HTTP Requests من المستخدم، وبيرد عليهم بـ HTML, CSS, JavaScript files، أو حتى JSON لو عندك API.
أشهر الأمثلة:
- Apache
- Nginx
- Microsoft IIS
باختصار: أي حاجة لها علاقة بعرض مواقع أو APIs… الـ Web Server هو اللي وراها.
———
📌 الـ Database Server
السيرفر اللي شايل كل الداتا اللي التطبيق محتاجها. سواء عندك Web App أو Mobile App، أكيد فيه Data بتتحفظ وتتعرض وقت الطلب…
أشهر الأمثلة:
- MySQL Server
- PostgreSQL Server
- MongoDB Server
- Microsoft SQL Server
الـ App بيبعت Query والسيرفر ينفذها ويرجعلك الـ Result.
———
📌 الـ File Server
دوره إدارة وتخزين الملفات ومشاركتها بين الأجهزة. زي إنك ترفع صور أو ملفات PDF أو Videos والناس التانية تقدر توصلها.
بيوفر Access Control وPermissions، علشان تضمن إن كل مستخدم له صلاحيات معينة.
الأمثلة: Google Drive, Dropbox, أو أي internal file system في الشركات.
———
📌 الـ Mail Server
ده مسؤول عن إرسال واستقبال الإيميلات. لو جربت تبعت إيميل من Gmail أو من دومين شركتك، فالموضوع ماشي من خلال Mail Servers.
أنواع البروتوكولات اللي بيستخدمها:
- الـ SMTP (للإرسال)
- الـ IMAP / POP3 (للاستقبال)
الأمثلة:
- Microsoft Exchange Server
- Postfix
- Exim
———
📌 الـ Application Server
السيرفر اللي بيشغّل الـ Business Logic بتاعة التطبيق.
يعني مش بيخزن بيانات زي Database Server، ولا بيقدّم HTML زي Web Server، لكنه بينفّذ الكود خلف الكواليس.
لو عندك React Frontend مثلًا و Node.js Backend، فالـ Node Server هو Application Server.
أمثلة تانية:
- Tomcat
- Express.js
- Django
- .NET Core
———
📌 الـ DNS Server
ده السيرفر اللي بيحوّل أسماء الدومينات (زي google.com) إلى IP Addresses.
أشهرهم:
- Cloudflare DNS
- Google DNS (8.8.8.8)
- OpenDNS
من غير DNS Server، كان زمانك بتدخل IP كامل عشان تفتح موقع جوجل أو لينكدإن
———
📌 الـ Proxy Server
السيرفر الوسيط بينك وبين الإنترنت.
لما تبعت Request، هو اللي يستقبلها ويقرر يبعتهالك ولا لا، أو يعدلها أو يخبي الـ IP الحقيقي بتاعك.
مفيد جدًا في الـ Security والـ Caching.
أنواعه:
- Forward Proxy
- Reverse Proxy
———
📌 الـ FTP Server
بيستخدم بروتوكول اسمه File Transfer Protocol لنقل الملفات بين جهازك والسيرفر.
قديم شوية لكنه لسه مستخدم في بعض الشركات. تقدر تستخدمه لرفع أو تحميل ملفات بسهولة.
أمثلة:
- vsftpd
- FileZilla Server
———
📌 الـ Virtual / Cloud Servers
الجيل الجديد من السيرفرات… بدل ما تشتري أجهزة غالية، بتأجر Resources على Cloud Provider زي AWS, Azure, أو Google Cloud.
الجميل في الموضوع إنك بتقدر تعمل Scaling بسهولة جدًا. يعني لو الترافيك زاد، تزود الـ CPU أو الـ RAM وأنت مرتاح.
أنواع السيرفرات دي ممكن تكون Web أو Database أو أي نوع من اللي فوق، بس بتشتغل في بيئة Cloud بدل الـ On-premise.
———
وفقكم الله لكل خير 🌿
.
.
أغلبنا أول ما بيسمع كلمة Server بييجي في باله جهاز كبير في غرفة مكيفة، شغال 24 ساعة ومليان لمبات بتنور...
بس الحقيقة السيرفر مش لازم يكون جهاز ضخم… ممكن يكون مجرد Software أو Virtual Machine بيقدّم خدمة معينة.
الـ Server ببساطة هو جهاز (أو برنامج) بيستقبل Requests من أجهزة تانية اسمها Clients، وبيرد عليهم بـ Responses.
زي ما الـ Browser بيبعت طلب لموقع معين، والسيرفر بيرد عليه بالصفحة المطلوبة.
لكن السيرفرات مش كلها زي بعض… كل نوع له وظيفة مختلفة حسب الـ Use Case بتاعته...
———
📌 الـ Web Server
ده الأشهر، وهو اللي بيستقبل الـ HTTP Requests من المستخدم، وبيرد عليهم بـ HTML, CSS, JavaScript files، أو حتى JSON لو عندك API.
أشهر الأمثلة:
- Apache
- Nginx
- Microsoft IIS
باختصار: أي حاجة لها علاقة بعرض مواقع أو APIs… الـ Web Server هو اللي وراها.
———
📌 الـ Database Server
السيرفر اللي شايل كل الداتا اللي التطبيق محتاجها. سواء عندك Web App أو Mobile App، أكيد فيه Data بتتحفظ وتتعرض وقت الطلب…
أشهر الأمثلة:
- MySQL Server
- PostgreSQL Server
- MongoDB Server
- Microsoft SQL Server
الـ App بيبعت Query والسيرفر ينفذها ويرجعلك الـ Result.
———
📌 الـ File Server
دوره إدارة وتخزين الملفات ومشاركتها بين الأجهزة. زي إنك ترفع صور أو ملفات PDF أو Videos والناس التانية تقدر توصلها.
بيوفر Access Control وPermissions، علشان تضمن إن كل مستخدم له صلاحيات معينة.
الأمثلة: Google Drive, Dropbox, أو أي internal file system في الشركات.
———
📌 الـ Mail Server
ده مسؤول عن إرسال واستقبال الإيميلات. لو جربت تبعت إيميل من Gmail أو من دومين شركتك، فالموضوع ماشي من خلال Mail Servers.
أنواع البروتوكولات اللي بيستخدمها:
- الـ SMTP (للإرسال)
- الـ IMAP / POP3 (للاستقبال)
الأمثلة:
- Microsoft Exchange Server
- Postfix
- Exim
———
📌 الـ Application Server
السيرفر اللي بيشغّل الـ Business Logic بتاعة التطبيق.
يعني مش بيخزن بيانات زي Database Server، ولا بيقدّم HTML زي Web Server، لكنه بينفّذ الكود خلف الكواليس.
لو عندك React Frontend مثلًا و Node.js Backend، فالـ Node Server هو Application Server.
أمثلة تانية:
- Tomcat
- Express.js
- Django
- .NET Core
———
📌 الـ DNS Server
ده السيرفر اللي بيحوّل أسماء الدومينات (زي google.com) إلى IP Addresses.
أشهرهم:
- Cloudflare DNS
- Google DNS (8.8.8.8)
- OpenDNS
من غير DNS Server، كان زمانك بتدخل IP كامل عشان تفتح موقع جوجل أو لينكدإن
———
📌 الـ Proxy Server
السيرفر الوسيط بينك وبين الإنترنت.
لما تبعت Request، هو اللي يستقبلها ويقرر يبعتهالك ولا لا، أو يعدلها أو يخبي الـ IP الحقيقي بتاعك.
مفيد جدًا في الـ Security والـ Caching.
أنواعه:
- Forward Proxy
- Reverse Proxy
———
📌 الـ FTP Server
بيستخدم بروتوكول اسمه File Transfer Protocol لنقل الملفات بين جهازك والسيرفر.
قديم شوية لكنه لسه مستخدم في بعض الشركات. تقدر تستخدمه لرفع أو تحميل ملفات بسهولة.
أمثلة:
- vsftpd
- FileZilla Server
———
📌 الـ Virtual / Cloud Servers
الجيل الجديد من السيرفرات… بدل ما تشتري أجهزة غالية، بتأجر Resources على Cloud Provider زي AWS, Azure, أو Google Cloud.
الجميل في الموضوع إنك بتقدر تعمل Scaling بسهولة جدًا. يعني لو الترافيك زاد، تزود الـ CPU أو الـ RAM وأنت مرتاح.
أنواع السيرفرات دي ممكن تكون Web أو Database أو أي نوع من اللي فوق، بس بتشتغل في بيئة Cloud بدل الـ On-premise.
———
وفقكم الله لكل خير 🌿
❤10👏2💯2
مفهوم الـ Atomicity 💯
.
.
تخيل إنك شغال على سيستم تحويل فلوس. العميل حول 1000 جنيه من حسابه، السيستم خصم الفلوس…
وقبل ما يضيفهم في حساب الشخص التاني، الكهرباء قطعت.
كده الفلوس طارت؟ ولا هترجع؟ ولا هتتحول؟
السؤال ده بيجاوب عليه مفهوم مهم جدًا في البرمجة والـ Databasese وهو الـ Atomicity
يا إما كل الخطوات تتم بالكامل...يا مفيش ولا خطوة تتم.
———
🤔 يعني إيه Atomicity؟
تخيل إنك بتسحب فلوس من الـ ATM.
العملية دي فيها خطوتين:
1- البنك يخصم المبلغ من حسابك.
2- الماكينة تطلع لك الفلوس.
لو حصل إن السيستم عمل الخطوة الأولى بس، ووقف فجأة قبل ما يوصلك الفلوس…
أنت كده خسرت فلوسك؟
هنا بقى ييجي دور الـ Atomicity.
الـ Atomicity معناها إن العملية كلها تتنفذ بالكامل من أولها لآخرها، أو ما تتنفذ خالص.
يعني All or Nothing.
في مثال الـ ATM: يا البنك يخصم وتاخد الفلوس، يا ميحصلش أي حاجة أصلًا.
مفيش نص عملية.
———
💡 إزاي ده بيتم؟
الـ Atomicity هي واحدة من الـ ACID Properties اللي بتضمن سلامة البيانات خصوصًا في الـ Databases.
علشان تحقق الـ Atomicity، السيستم بيستخدم حاجة اسمها Transactions.
كل Transaction بتتكون من مجموعة عمليات (زي insert، update، delete)،
والمفروض إن كل العمليات دي يحصلها commit في نفس الوقت، أو يحصلها rollback لو حصل أي خطأ.
مثال:
لو أي واحدة من الـ 2 updates فشلت، الـ transaction كلها هتتفك، والداتا ترجع زي ما كانت كأن مفيش حاجة حصلت.
———
⚠️ إيه اللي ممكن يبوّظ الـ Atomicity؟
- الـ Exceptions أو الـ Errors في جزء من الـ transaction.
- إنك تنفذ queries من غير transaction أصلًا
ولو السيستم مش بيطبق الـ Atomicity صح، الداتا ممكن تبقى corrupted، وساعتها ربنا يستر.
———
📌 إيه الفرق بين الـ Atomicity وبين الـ Consistency؟
الـ Atomicity بتتكلم عن هل العملية كلها تمت أو لا؟
الـ Consistency بتسأل هل الداتا بعد العملية في حالة صحيحة؟
يعني:
- الـ Atomicity = حصل commit كامل ولا لا؟
- الـ Consistency = لو حصل، الداتا بقت consistent ولا لا؟
الاتنين مكملين بعض، بس مش نفس الحاجة.
———
وفقكم الله لكل خير 🌿
.
.
تخيل إنك شغال على سيستم تحويل فلوس. العميل حول 1000 جنيه من حسابه، السيستم خصم الفلوس…
وقبل ما يضيفهم في حساب الشخص التاني، الكهرباء قطعت.
كده الفلوس طارت؟ ولا هترجع؟ ولا هتتحول؟
السؤال ده بيجاوب عليه مفهوم مهم جدًا في البرمجة والـ Databasese وهو الـ Atomicity
يا إما كل الخطوات تتم بالكامل...يا مفيش ولا خطوة تتم.
———
🤔 يعني إيه Atomicity؟
تخيل إنك بتسحب فلوس من الـ ATM.
العملية دي فيها خطوتين:
1- البنك يخصم المبلغ من حسابك.
2- الماكينة تطلع لك الفلوس.
لو حصل إن السيستم عمل الخطوة الأولى بس، ووقف فجأة قبل ما يوصلك الفلوس…
أنت كده خسرت فلوسك؟
هنا بقى ييجي دور الـ Atomicity.
الـ Atomicity معناها إن العملية كلها تتنفذ بالكامل من أولها لآخرها، أو ما تتنفذ خالص.
يعني All or Nothing.
في مثال الـ ATM: يا البنك يخصم وتاخد الفلوس، يا ميحصلش أي حاجة أصلًا.
مفيش نص عملية.
———
💡 إزاي ده بيتم؟
الـ Atomicity هي واحدة من الـ ACID Properties اللي بتضمن سلامة البيانات خصوصًا في الـ Databases.
علشان تحقق الـ Atomicity، السيستم بيستخدم حاجة اسمها Transactions.
كل Transaction بتتكون من مجموعة عمليات (زي insert، update، delete)،
والمفروض إن كل العمليات دي يحصلها commit في نفس الوقت، أو يحصلها rollback لو حصل أي خطأ.
مثال:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
لو أي واحدة من الـ 2 updates فشلت، الـ transaction كلها هتتفك، والداتا ترجع زي ما كانت كأن مفيش حاجة حصلت.
———
⚠️ إيه اللي ممكن يبوّظ الـ Atomicity؟
- الـ Exceptions أو الـ Errors في جزء من الـ transaction.
- إنك تنفذ queries من غير transaction أصلًا
ولو السيستم مش بيطبق الـ Atomicity صح، الداتا ممكن تبقى corrupted، وساعتها ربنا يستر.
———
📌 إيه الفرق بين الـ Atomicity وبين الـ Consistency؟
الـ Atomicity بتتكلم عن هل العملية كلها تمت أو لا؟
الـ Consistency بتسأل هل الداتا بعد العملية في حالة صحيحة؟
يعني:
- الـ Atomicity = حصل commit كامل ولا لا؟
- الـ Consistency = لو حصل، الداتا بقت consistent ولا لا؟
الاتنين مكملين بعض، بس مش نفس الحاجة.
———
وفقكم الله لكل خير 🌿
❤12