احب استغل الفرصة دي عشان اكتب ليكم ثريد عن حاجة اسمها الmicro services بكرة ان شاء الله وليه مواقع زي فيس بوك ونتفلكس ما بتقع كلها او ما بتقع في كل العالم
طيب يلا نبدأ الثريد :
اول شي خلونا نعرف يعني شنو Microservices ببساطة هي عبارة عن معمارية معينة في تصميم الأنظمة بتعتمد انو تقطع السوفتوير ع اجزاء بتتكامل مع بعضها عشان تأدي وظيفة السوفتوير ... اممممم حتقول لي وضح اكتر تعالو نشوف مثال لواحدة من اكبر الشركات البتستخدمها
??
اول شي خلونا نعرف يعني شنو Microservices ببساطة هي عبارة عن معمارية معينة في تصميم الأنظمة بتعتمد انو تقطع السوفتوير ع اجزاء بتتكامل مع بعضها عشان تأدي وظيفة السوفتوير ... اممممم حتقول لي وضح اكتر تعالو نشوف مثال لواحدة من اكبر الشركات البتستخدمها
??
شركة أوبر اللي هي للناس الما يعرفوها هي حاجة زي ترحال كدة ???
معروف انو حاجة متعبة جدا انك تشتغل برنامج بتاع تاكسي مثلا فيهو خاصية Tracking بي لغة زي php مثلا وبي sql database ليه عشان انا مثلا ما ممكن كل ما اتحرك خطوة امشي اكتب query بتاع update للوكيشن حقي
??
معروف انو حاجة متعبة جدا انك تشتغل برنامج بتاع تاكسي مثلا فيهو خاصية Tracking بي لغة زي php مثلا وبي sql database ليه عشان انا مثلا ما ممكن كل ما اتحرك خطوة امشي اكتب query بتاع update للوكيشن حقي
??
فهنا مثلا واحدة من الحلول اني استخدم NodeJS عشان مثلا اعمل حنك الTracking دة لكن هل لما اختار اللغة دي معناها لازم اكتب كل الapp حقي بيها ؟؟ الجواب ببساطة لأ ودي واحدة من فوائد الmicro services انو انت بتبني services صغيرة كل واحدة منها بتعمل حاجة معينة وبتواصلو مع بعض بلغة محددة
"طيب انا فهمتك يا محمد انت قصدك انو نحن نقطع الapi حقت الapp نفسها ونخلي كل خدمة جزء منفصل من بعض ونخليهم ينادو بعض ويتخاطبو كأنهم api خارجية "
بالضبط كدة بس السؤال كيف حنقسمهم وفي زول حيرفع يدو حيقول لي "يعني شنو api “
طيب افهمك براحة براحة
بالضبط كدة بس السؤال كيف حنقسمهم وفي زول حيرفع يدو حيقول لي "يعني شنو api “
طيب افهمك براحة براحة
لما تمشي مطعم تطلب وجبة انتا بتحبها بتعمل شنو ؟ بجي "الويتر" بديك "المينيو" وانت تطلب منها وبجيك أكلك او الحاجة الطلبتها حتى لو انت ما عارفها بتتعمل كيف الأكلة دي .. يلا في المثال دة الapi catalog هو المينيو حق المطعم يعني مثلا بتعمل في تطبيق بقرا حالة الطقس في المدن
??
??
نفس الشئ لو جاك عميل مثلا او براك قررتا تعمل تطبيق مثلا بتاع shopping أيا كان نوعو بدل تعمل التطبيق كلو في حتة واحدة ليه ما تقسمو مثلا لي services يعني مثلا يكون عندك
Login service
Registration services
Cart service
Checkout
Billing service
طيب يا محمد انا كدة فهمت بس ليه
Login service
Registration services
Cart service
Checkout
Billing service
طيب يا محمد انا كدة فهمت بس ليه
مبدئيا نحن بنستخدم حاجة اسمها الcontainers في موضوع الmicroservices دة الكونتينر دة عبارة عن نسخة مصغرة من نظامك دة كلو بس فيهو الحاجات المحتاجاها الservice المعينة دي بس الموضوع دة يطول شرحه جدا لأنو هو في حد نفسو موضوع قائم بي زاتو المهم هنا حنركز على تقنية اسمها docker
Docker يساعدنا انو نقدر نعمل micro services architecture وكل service تكون في docker container منفصلة وحتى الservices نفسها ممكن يحصل ليها duplicate عشان تحافظ على انو التطبيق يحتمل اكبر قدر من المستخدمين والميزة التانية هي انو ما بكون عندك single point of failure
يعني شنو ??؟
يعني شنو ??؟
يعني مثلا في انستاغرام ممكن تلقى الاستوري مثلا فيها مشكلة وما بترفع ليك صورك وفيديوهاتك لكن مثلا بتتكلم مع الناس في الDM عادي .. نفس الشئ مثلا في تويتر انك تقدر مثلا تكتب تويت بس ما تقدر ترسل في الDM او ما تقدر ترفع صورة ودة بسبب انو كل واحدة من ديل service منفصلة عن التانية ??
طيب اها وتاني ؟؟
شنو الممكن يخليني اشتغل بالمعمارية دي ؟! الميزة الأهم هي السبب الأساسي من وجود الmicro services نفسو وهو الscalability او سهولة التوسع لو تطبيقك وصل ملايين المستخدمين سهل جدا انك تتعامل معاهم بس بإنك تزيد عدد الcontainers حقتك مثلا أوبر حاليا عندها اكتر من 10000
شنو الممكن يخليني اشتغل بالمعمارية دي ؟! الميزة الأهم هي السبب الأساسي من وجود الmicro services نفسو وهو الscalability او سهولة التوسع لو تطبيقك وصل ملايين المستخدمين سهل جدا انك تتعامل معاهم بس بإنك تزيد عدد الcontainers حقتك مثلا أوبر حاليا عندها اكتر من 10000
يلا نجي لأخر حاجة انو بعد يعملو duplicate للservices دي بوزعوها في أماكن مختلفة في العالم في سيرفرات موزعة عشان كل ما تطلب الخدمة تجيك من اقرب سيرفر ليك عشان يوفرو الزمن في نفس الوقت بتلقى مثلا بقول ليك فيس بوك يختبر ميزة جديدة مثلا في الصين وحتكون متاحة لباقي العالم بعد فترة ??
الحاجة دي لأنو هم بكونوا عملو deploy للservices بتاعت الصين بس
الموضوع دة بجي معاهو موضوع تاني مهم وهو موضوع متعمق اكتر شوية وهو CI/CD ودة غالبا حأكتب عنو هو وdocker kubernetes ثريد منفصل او حأعمل فيديو في قناتي بتاعت اليوتيوب ما عارف لسة
المهم أتمنى أكون وفقت انو أوصل المعلومة
الموضوع دة بجي معاهو موضوع تاني مهم وهو موضوع متعمق اكتر شوية وهو CI/CD ودة غالبا حأكتب عنو هو وdocker kubernetes ثريد منفصل او حأعمل فيديو في قناتي بتاعت اليوتيوب ما عارف لسة
المهم أتمنى أكون وفقت انو أوصل المعلومة
جاري تحميل الاقتراحات...