বিতরণযোগ্য সিস্টেমগুলি: আপনার এগুলি কখন তৈরি করা উচিত এবং কীভাবে স্কেল করা উচিত? একটি ধাপে ধাপে গাইড।

আনপ্লেশ-এ জেরেমি ম্যাককাইটের ছবি Photo

এটি সর্বদা আমাকে হানা দেয় যে কতগুলি আপ-আপ ডেভেলপাররা তাদের পণ্য বিকাশ করা শুরু করার সময় প্রতারণার সিন্ড্রোমে ভুগছিলেন।

আমি বুঝতে পেরেছি যে অবিশ্বাস্যরকম জটিল বিতরণ ব্যবস্থার সাথে শীর্ষস্থানীয় সংস্থাগুলির অনেকগুলি মন-উদ্বেগজনক উদাহরণ রয়েছে, কয়েক বিলিয়ন অনুরোধগুলি পরিচালনা করা, কোনও ডাউনটাইম ছাড়াই কয়েকশ অ্যাপ্লিকেশন সঠিকভাবে আপডেট করা, জরুরি অবস্থা থেকে কয়েক সেকেন্ডে সেরে নেওয়া, প্রতি 60 মিনিটে মুক্তি দেওয়া এবং কোথাও থেকে হালকা গতির প্রতিক্রিয়া বার পাওয়া এ পৃথিবীতে.

আপনি যখন আপনার প্রকল্পটি শুরু করবেন তখন এই প্রত্যাশাগুলি বেশ অভিভূত হতে পারে। তবে আপনারা অনেকেই ইতিমধ্যে জানেন যে, এই সংস্থাগুলির বেশিরভাগই একটি ন্যূনতম টেকসই ব্যবস্থা এবং খুব দুর্বল প্রযুক্তির স্ট্যাক দিয়ে শুরু করেছিলেন। এর কারণটি সহজ: তারা যখন শুরু করেছিল তখন তাদের এগুলির দরকার হয় না। আপনার সিস্টেমে কোডিংয়ের পরিবর্তে আরও বেশি সময় ডিজাইন করা ব্যর্থ হতে পারে।

এই নিবন্ধটি ধাপে ধাপে গাইড। আমি আপনাকে দেখাব যে আমরা ভিজায় কীভাবে সর্বকালের সবচেয়ে ছোট সিস্টেমের সাথে শুরু করেছি এবং উচ্চতর প্রাপ্যতার সাথে একটি স্কেলযোগ্য, বিতরণ করা বেস সিস্টেম তৈরি করেছি। আপনার কমপ্লেক্সগুলি সরিয়ে ফেলার জন্য এটি একটি বাস্তব কেস স্টাডি যদি আপনি নিজেই করার সুযোগ না পান।

আমি যখন প্রথমবার সিটিও হিসাবে ভিজায় এসেছি, তখন আমি একমাত্র প্রকৌশলী ছিলাম। আমি টেক স্ট্যাক সম্পর্কে কিছুই জানতাম না, তবে আমি জড়িত হয়েছি কারণ অভ্যন্তরীণ নিয়োগকারীদের বা এইচআর পরিষেবা ছাড়া আমি সত্যিই নিয়োগের ধারণা পছন্দ করি liked ভিজেজের পিছনে এটিই মূল ধারণা ছিল: অনেকগুলি অদৃশ্য নিয়োগকারীরা পরিচালিত ভিড়সোর্সিং যারা তাদের ভূমিকাতে সহযোগিতা করার জন্য কৃত্রিম বুদ্ধিমত্তাকে ব্যবহার করে এবং কিছু দিনের মধ্যে আপনাকে সেরা উপযুক্ত প্রতিভা সন্ধান করে। তারপরে আপনি তাদের সাথে সরাসরি ডিল করেন, মধ্যস্থতাকারী নন।

ভিড়সোর্সিংয়ের "ভিড়" তত্ক্ষণাত আমার প্রযুক্তিগত মস্তিষ্ককে এগিয়ে নিয়ে যায়: এমন অনেক লোক থাকবে যারা একই সময়ে কাজ করে এবং সারা বিশ্ব থেকে ভাল পারফরম্যান্সের প্রত্যাশা করে। আমি চ্যালেঞ্জ পছন্দ।

কিন্তু পদ্ধতিগতভাবে জিনিসগুলি খারাপ ছিল, সত্যই খারাপ। আমি পৌঁছে নিম্নলিখিতটি খুঁজে পেয়েছি:

  • একটি আপত্তিজনক ওয়ার্ডপ্রেস উদাহরণসই একটি ভাগ করা সার্ভারে ভিএম-এ চলমান কয়েকশ পুরানো বগি প্লাগইনগুলি সহ
  • সমঝোতা মেলবক্স
  • প্রচুর গুগল ডক্স।

এবং এটি পুরোপুরি স্বাভাবিক। আবার দলে কোনও টেক সদস্য ছিল না এবং আমি এরকম কিছু আশা করছিলাম। তবুও, দলটি একটি ব্যবসায়ের সুযোগের দিকে মনোনিবেশ করেছিল এবং পণ্যটিকে এমনভাবে দেখিয়েছিল যে এটি যাদুতে কাজ করবে যখন সমস্ত কিছু ম্যানুয়ালি করা হয়েছিল! (এটি না পাওয়া পর্যন্ত এটি জাল করুন)। এবং এটি সত্যিই আশ্চর্যজনক ছিল।

আমাদের প্রথম সিস্টেম (হ্যাঁ এটি চুষে ফেলেছে, তবে এটি কাজটি করেছে)!

আমার প্রথম কাজটি ভিএম পুনর্নির্মাণ, একটি আপডেট ওয়ার্ডপ্রেস সংস্করণ পুনরায় ইনস্টল করা, সমস্ত ব্যবহারকারীদের তাদের পাসওয়ার্ড পরিবর্তন করা, পাসওয়ার্ড নীতি তৈরি করা এবং সংস্থার কম্পিউটারগুলি থেকে কয়েক ডজন ম্যালওয়্যার সরিয়ে দেওয়ার বিষয়টি নিশ্চিত করেই আশ্চর্যের বিষয় নয়।

ওয়ার্ডপ্রেস থেকে একটি ওয়েব অ্যাপ্লিকেশন

আপনি যখন পণ্য তৈরি শুরু করবেন তখন আপনার প্রথম ফোকাসটি ডেটা হতে হবে। ডেটা আপনার সংস্থার মান নির্ধারণ করে। সিদ্ধান্ত গ্রহণের জন্য আপনি প্রতিদিন যা ব্যবহার করেন এবং প্রগতি প্রদর্শনের জন্য আপনি আপনার বিনিয়োগকারীদের কী দেখান It

আপনাকে আপনার ডেটাটি বোঝাতে হবে এবং বিভিন্ন ফর্ম্যাটের সাহায্যে বিভিন্ন উত্স থেকে আপনার ডেটা পুনরুদ্ধার করা সময়ের ব্যয় হবে। ওয়ার্ডপ্রেস অনেক ক্ষেত্রে খুব ভাল পছন্দ হতে পারে কারণ এটি প্রচুর বিকাশের সময় সাশ্রয় করে তবে তাদের প্রয়োজনের জন্য ভিজেজ টিমকে অভিনব প্লাগইন ইনস্টল করতে হয়েছিল যা আর রক্ষণাবেক্ষণ করা হয়নি। ফলস্বরূপ, উত্পন্ন ডেটা মডেলটির উপরে আমাদের কোনও নিয়ন্ত্রণ ছিল না এবং মডেলটির মধ্যে ফিট করতে পারে না এমন ডেটা কয়েক ডজন নথি এবং কার্যপত্রক জুড়ে ছড়িয়ে পড়েছিল।

সুতরাং যদি এমন কোনও পণ্য না থাকে যা ইতিমধ্যে আপনার 90% চাহিদা পূরণ করে, একটি আদর্শ ডেটা মডেল এবং ডিজাইন নিয়ে আসুন এবং একটি ন্যূনতম ব্যবহারযোগ্য পণ্য (এমভিপি) প্রয়োগ করুন যা আপনার সমস্ত ডেটা সংরক্ষণ করতে সক্ষম।

তারপরে এপিআই ভাবেন। আপনার আবেদনের অবশ্যই একটি এপিআই থাকতে হবে। আপনি যখন শেষ পর্যন্ত এটি বিক্রি করেন তখন এইটি গুরুত্বপূর্ণ হবে। তাত্ক্ষণিক স্কেল করবেন না, তবে স্কেলাবিলিটি মাথায় রেখে। আপনার এপিআইকে রাষ্ট্রবিহীন এবং যথাসম্ভব আরএসটি-নিরাপদ করুন, প্রত্যেকে স্ট্যান্ডার্ড এইচটিটিপি পদ্ধতি ব্যবহার করে এটি সম্পর্কে জিজ্ঞাসা করতে সক্ষম হওয়ার আশা করবে।

আমরা আমাদের ক্ষেত্রে নোডজেএস বেছে নিয়েছি কারণ আমাদের বেশিরভাগ কোড কেবল ইনপুট এবং আউটপুট প্রসেস করে। নোডজেএস নন-ব্লকিং এবং এমন একটি লাইব্রেরি নিয়ে আসে যা আপনি এপিআই ডিজাইন করতে ব্যবহার করতে পারেন: এক্সপ্রেসজেএস।

আপনার যখন গ্রাহককেন্দ্রিক ওয়েবসাইট দরকার তখন আপনার কাছে বেশ কয়েকটি বিকল্প রয়েছে। প্রথমত, আপনি আপনার অ্যাপ্লিকেশন সার্ভারে এমন একটি স্তর তৈরি করতে পারেন যা আপনার পৃষ্ঠাগুলি উত্পন্ন করবে, বা আপনি একটি একক পৃষ্ঠা জাভাস্ক্রিপ্ট অ্যাপ্লিকেশন তৈরি করতে পারেন যা একটি স্ট্যাটিক ওয়েব হোস্টিং সার্ভার দ্বারা পরিবেশন করা হবে।

ভিজেজে আমরা দ্বিতীয় বিকল্পের জন্য গিয়েছিলাম এবং ব্যবহারকারীদের জন্য একটি এবং প্রশাসকের জন্য একটি অ্যাপ্লিকেশন তৈরি করেছিলাম। এটি কেবল কারণ প্রশাসকদের পক্ষে আমাদের প্রয়োজনের তুলনায় আমাদের ব্যবহারকারীদের কাছে অনেক বেশি প্রত্যাশা ছিল এবং উভয় কোড ঘাঁটি সরল রাখতে চেয়েছিলেন (পরে সিওআরএস কারণেও)। আমাদের সিস্টেমটি দেখতে এটির মতো:

সমস্ত ডেটা এক জায়গায়

সংবেদনশীল ডেটা শুরুর দিকে প্রেরণ করুন

আপনার সিস্টেমে সংবেদনশীল ব্যক্তিগত তথ্য রাখার কোনও উপযুক্ত কারণ নেই যতক্ষণ না তা আপনার ব্যবসায়ের পক্ষে অত্যাবশ্যক। সুরক্ষা একটি জটিল বিষয় এবং আপনি যদি আপনার পণ্যটির বাজারটি ফিট করে তা নির্ধারণ না করা পর্যন্ত আপনি যদি প্রতিদিন আপনার কোড পরিবর্তন করেন তবে তা ধসে পড়ে। মনে করুন যে যার অভিপ্রায় ছিল না তারা যদি সত্যিই চায় তবে আপনার আবেদনটি লঙ্ঘন করতে পারে।

মূলটি হ্যাকারের জন্য দ্রুত জয় হতে পারে এমন কোনও ডেটা সংরক্ষণ করা নয়। এমন কোনও ব্যাংক কেউ ছিনিয়ে নেয় না যার অর্থ নেই। একটি সস পণ্য ডিজাইন করার সময় আপনার সম্ভবত অনলাইনে প্রমাণীকরণ এবং অর্থ প্রদান করতে হবে। তৃতীয় পক্ষের প্রচুর সরবরাহকারী রয়েছে যার সাথে আপনি জড়িত থাকতে পারেন তাই আপনি সম্ভবত তাদের চেয়ে আরও ভাল পরিচালনা করতে পারেন।

উদাহরণস্বরূপ, Auth0 হ'ল তৃতীয় পক্ষের প্রমাণীকরণ প্রদানকারী known স্ট্রাইপ অনলাইন পেমেন্টের জন্য একটি দুর্দান্ত বিকল্প। আপনার ডেটা সুরক্ষিত রাখতে তারা তাদের সমস্ত সংস্থান এবং বিশ্বের সুরক্ষা প্রকৌশলীদের সেরা দলগুলি ব্যবহার করবে - বা তাদের কোনও ব্যবসা থাকবে না।

সান ফ্রান্সিসকোতে একটি গাড়ীতে আসল চিহ্ন

ক্লাউড পরিষেবাগুলি আপনার সেরা বন্ধু

সুতরাং সেই সময়ে আমাদের কাছে আমাদের সমস্ত ডেটা, প্রমাণীকরণ, অনলাইন পেমেন্ট এবং একটি ওয়েব অ্যাপ্লিকেশন সংরক্ষণ করার বিকল্প ছিল যা গ্রাহকরা এমন একটি এপিআই সহ ব্যবহার করতে পারেন যা আমরা বিভিন্ন ব্যবহারের ক্ষেত্রে অংশীদারদের কাছে বিক্রি করতে পারি। আমাদের ব্যবহারকারীর বেস বৃদ্ধি পেয়েছিল এবং এটি স্পষ্ট হয়ে গেছে যে তারা যে কোনও সময় অ্যাপটি অ্যাক্সেস করতে চেয়েছিল। সুতরাং এটি মাপেরযোগ্যতা এবং প্রাপ্যতা সম্পর্কে চিন্তা করার সময় ছিল।

আমরা একটি সার্ভারের উপর নির্ভর করেছি, তবে এটি কেবলমাত্র অনেকগুলি অনুরোধ পরিচালনা করতে পারে, এবং সার্ভারগুলি স্যুইচ করা বা একটি নতুন সংস্করণ প্রকাশের অর্থ অ্যাপ্লিকেশনটি প্রকাশের সময় বন্ধ হয়ে যাওয়া। আমাদের পরবর্তী অগ্রাধিকারগুলি ছিল: লোড ব্যালেন্সিং, অটস্কলিং, লগিং, প্রতিলিপি এবং স্বয়ংক্রিয় ব্যাকআপ। অবশ্যই, আপনি যদি আপনার কোম্পানির একমাত্র প্রকৌশলী হন তবে এই সমস্ত সমস্যা নিজেকেই নিয়ন্ত্রণে রাখা পাগল হবে।

সৌভাগ্যক্রমে, আমরা এমন এক সময়ে বাস করি যখন অ্যামাজন ওয়েব সার্ভিসেস, গুগল ক্লাউড সার্ভিসেস বা আউজুরের মতো ক্লাউড পরিষেবাদি সহ কেবলমাত্র একজন অভিজ্ঞ প্রকৌশলী খুব সহজেই কয়েকদিনের মধ্যে এমন একটি সিস্টেম তৈরি করতে পারেন। আমরা আমাদের সিস্টেমগুলি এডাব্লুএসে স্থানান্তরিত করার সিদ্ধান্ত নিয়েছিলাম কারণ এটি তখনকার সর্বাধিক ব্যাপক সমাধান ছিল এবং আমাদের কাছে 2 বছরের জন্য বিনামূল্যে ক্রেডিট ছিল।

এই কারণে, এই পোস্টে আমি মূলত এডাব্লুএস সমাধানগুলি নিয়ে কথা বলব, তবে অন্যান্য প্ল্যাটফর্মগুলিতে সমতুল্য পরিষেবা রয়েছে। এটিও এই সময়টি যে আমরা এই পোস্টে আচ্ছাদিত নয় এমন আরও অনেক কারণে ডকারের পাত্রে আমাদের মডিউলগুলি পরিচালনা করি (https://medium.freecodecamp.org এ আরও তথ্যের জন্য এই নিবন্ধটি দেখুন) / আমাজন -ফারগেট-বিদায়-অবকাঠামো -3 বি 66c7e3e413)।

আপনি কীভাবে আপনার অ্যাপ্লিকেশনগুলি চালাবেন তা আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে; খ। আপনার প্রয়োজনীয় নমনীয়তা এবং আপনার অবকাঠামো পরিচালনা করতে ব্যয় করতে পারেন।

এর উত্তম বা খারাপ কোনও উত্তর নেই।

আপনি আপনার সমস্ত মডিউলগুলিকে ধারক করে রাখতে পারেন এবং ECP / EKS এর মতো AWS বা GCP এ কুবেরনেটস ইঞ্জিনের মতো একটি ধারক পরিচালনা ব্যবস্থা ব্যবহার করতে পারেন। যদি এটি না হয় এবং আপনি স্বয়ংক্রিয়ভাবে স্কেলিং এবং লোড ভারসাম্য করার মতো জিনিসগুলির সাথে নিজেকে মোকাবিলা করতে না চান তবে আপনি ইলাস্টিক বিয়ানস্টালক বা অ্যাপ ইঞ্জিন ব্যবহার করতে পারেন।

আপনি যদি কোনও সার্ভার ছাড়াই পুরোপুরি কাজ করতে চান তবে আপনি ল্যাম্বদা ফাংশন এবং এপিআই গেটওয়েও একত্রিত করতে পারেন। আমরা ইসিএস বেছে নিয়েছি। আমরা 3 টি উপলভ্যতা জোনে 3 টি ইনস্ট্যান্স স্থাপন করেছি, লোড ব্যালেন্সার সেটআপ করেছি, সিপিইউ ব্যবহারের ভিত্তিতে স্বয়ংক্রিয় স্কেলিং সেটআপ করেছি এবং ত্রুটি, বাহ্যিক কল এবং এপিআই রেসপন্স সময়গুলি নিরীক্ষণ করতে আমাদের ধারকগুলির সমস্ত লগ ক্লাউডওয়াচ এবং সেটআপ মেট্রিকগুলিতে সংহত করেছি।

উচ্চ প্রাপ্যতা: আপনি কি জানেন যে জিরাফগুলি প্রায় কখনও ঘুমায় না? 99% আপটাইম

আমরা আমাদের ডাটাবেসের জন্য মঙ্গোডিবি ব্যবহার করেছি কারণ আমাদের মডেলটি কোনও নুএসকিউএল ডাটাবেসের জন্য এবং এর উচ্চতর ধারাবাহিকতার জন্য ভালভাবে উপযুক্ত। আমরা মঙ্গোডিবি আটলাস বেছে নিয়েছি এবং উচ্চ প্রাপ্যতার জন্য তিনটি প্রতিরূপ স্থাপন করেছি। অন্যান্য জিনিসগুলির সাথে অ্যাটলাস অফার করে, স্বয়ংক্রিয় স্কেলিং এবং স্বয়ংক্রিয় ব্যাকআপ এবং কোনও বিপর্যয়ের ঘটনায় আপনাকে নির্বিঘ্নে অতীতে ফিরে যেতে সক্ষম করে।

আমরা আমাদের স্থিতিশীল ওয়েব ফাইলগুলি এস 3 এ হোস্ট করার এবং ক্লাউডফ্রন্টকে সিডিএন হিসাবে ব্যবহার করার সিদ্ধান্ত নিয়েছি যাতে আমাদের জেএস অ্যাপ্লিকেশনগুলি বিশ্বের যে কোনও জায়গায় খুব দ্রুত লোড হতে পারে এবং যতবার ইচ্ছা ততবার স্থাপন করা যায়। ক্লাউডফ্লেয়ার একটি দুর্দান্ত বিকল্প এবং বাক্সের বাইরে ডিডিওএস সুরক্ষা সরবরাহ করে।

সরলতার জন্য, আমরা আমাদের সমস্ত ডোমেনের নেমসার্ভার ব্যবহার করে রুট 53টিকে আমাদের ডিএনএস হিসাবে ব্যবহার করার সিদ্ধান্ত নিয়েছি। এটি এডব্লিউএসে আমার প্রিয় একটি পরিষেবা। এটি আপনার জীবনকে এত সহজ করে তোলে। যে কোনও সময় আপনি কোনও ডোমেইন নামের মাধ্যমে কিছু পরিবেশন করতে চান, এটি ইসি 2 উদাহরণ, একটি ইলাস্টিক আইপি, লোড ব্যালেন্সার, ক্লাউডফ্রন্ট বিতরণ বা সত্যিই ব্যক্তিগত বা পাবলিক কিছু হতে পারে, এটি কয়েক মিনিট সময় নেয় কারণ এটি খুব ভাল সমস্ত সংহত অন্যান্য পরিষেবা।

শংসাপত্র ব্যবস্থাপকের সাথে এটি একত্রিত করুন, যা আপনাকে কয়েক মিনিটের মধ্যে ফ্রি এসএসএল শংসাপত্রগুলি (ওয়াইল্ডকার্ড অক্ষর সহ) পেতে এবং বাক্সটি চেক করে আপনার সমস্ত সার্ভারে স্থাপন করতে দেয়। এটি আপনার সমস্ত মডিউলে এইচটিটিপিএস সক্ষম করার দ্রুততম এবং সবচেয়ে নির্ভরযোগ্য উপায়। বিদায়, আমরা এসএসএল শংসাপত্রগুলি এনক্রিপ্ট করি যা আমাকে প্রতি 3 মাস অন্তর পুনর্নবীকরণ করতে এবং আমার সার্ভারগুলিতে ইনস্টল করতে হয়েছিল।

শালীন দেখতে শুরু করছে

ক্যাশিংয়ের কৌশলটি স্থির করুন

প্রত্যেকে ক্যাশে পরিচালনাকে ঘৃণা করে, ক্যাশে অনেকগুলি বিভিন্ন স্তরে সংঘটিত হতে পারে এবং ক্যাশে সম্পর্কিত সমস্যাগুলি পুনরুত্পাদন করা এবং ডিবাগ করার জন্য একটি দুঃস্বপ্ন are

দুর্ভাগ্যক্রমে, বিতরণ সিস্টেমগুলির কার্য সম্পাদন একটি ভাল ক্যাচিং কৌশলের উপর নির্ভর করে depends ভাল ক্যাশিংয়ের কৌশলগুলি সম্পর্কে অনেকগুলি ভাল নিবন্ধ রয়েছে যাতে আমি বিশদে যাব না। যদি আপনার স্ট্যাটিক ওয়েব সংস্থানগুলি খুব বড় হয় তবে আপনি সম্ভবত ক্যাশে-নিয়ন্ত্রণ শিরোনামের চতুর ব্যবহার করে আপনার ব্যবহারকারীর ব্রাউজার ক্যাশে সুবিধা নিতে চান।

যদি আপনার ব্যবহারকারীর মুখের পৃষ্ঠাগুলি অ্যাপ্লিকেশন সার্ভারগুলিতে উত্পন্ন হতে থাকে তবে স্কুইডের মতো ক্যাচিং প্রক্সি ব্যবহার করুন। সর্বাধিক গুরুত্বপূর্ণ, একটি উচ্চ সম্ভাবনা রয়েছে যে আপনি বার বার আপনার ডাটাবেসে একই দাবিগুলি চালিয়ে যাবেন। ডাটাবেসে লোড কমাতে এবং ডেটা স্থানান্তর সময় কমাতে, স্টোরেজ অবজেক্ট ক্যাচিং সিস্টেম ব্যবহার করুন, যেমন প্রায়শই ব্যবহৃত এবং খুব কম আপডেট হওয়া অবজেক্টের জন্য ব্যবহৃত হয়।

আমরা মেমচেড ব্যবহার বিবেচনা করেছি কারণ আমরা একই আবেদনকারীর প্রোফাইল এবং কাজের অফারগুলির অনুরোধ করে চলেছি। মেমরি-অপ্টিমাইজড কম্পিউটারে এটি প্রয়োগ করে এপিআই কার্যকারিতা 30% এর বেশি বৃদ্ধি পেয়েছে যখন প্রতিদিনের প্রতিটি প্রশ্নের উত্তর বারের গড় হয়। মেমক্যাচড বিতরণও করা হয় যাতে এটি বিভিন্ন সার্ভারে চলতে পারে তবে এখনও আপনার অবজেক্টগুলিকে সঞ্চয় করতে একক বৃহত স্টোরেজ স্পেসের মতো কাজ করে।

সব জায়গায় ক্যাশে, ক্যাশে

অবস্থান, অবস্থান, অবস্থান

এখন আমাদের একটি বিতরণ সিস্টেম রয়েছে যাতে ব্যর্থতার একক বিন্দু নেই (যখন আপনি এডাব্লুএস ইএলবি এবং একটি বিতরণ করা ক্যাশেড সিস্টেম বিবেচনা করেন) এবং এটি স্বয়ংক্রিয়ভাবে উপরে এবং নীচে ছোট করা যায়। আমরা নেটওয়ার্ক ডেটা স্থানান্তর হ্রাস করতে কচিংও ব্যবহার করি। খুব ভাল লাগছে। এই মুহুর্তে, আপনি সম্ভবত আপনার তৃতীয় পক্ষের বিক্রেতাদের আপনি যেভাবে ভার চাপছেন তা পরীক্ষা করে দেখতে চান।

তবে আমাদের কিছু ব্যবহারকারী অভিযোগ করেছেন যে অ্যাপটি তাদের জন্য কিছুটা ধীর ছিল, বিশেষত যখন তারা ফাইল আপলোড করছিল। যদিও আমাদের স্ট্যাটিক ওয়েব ফাইলগুলি বিশ্বব্যাপী ক্যাড করা হয়েছিল (সিডিএন এর সৌজন্যে), আমাদের সমস্ত অ্যাপ্লিকেশন সার্ভার কেবলমাত্র পশ্চিম আমেরিকা যুক্তরাষ্ট্রেই পরিবেশিত হয়েছিল। পূর্ব এশীয় ব্যবহারকারীরা বিশেষত বড় ডেটা স্থানান্তর সহ অনেক বেশি বিলম্বিত অভিজ্ঞতা অর্জন করেছিলেন।

সমাধানটি সহজ ছিল: নতুন ভার ভারসাম্যের সাথে এশিয়াতে একটি নতুন অঞ্চলে একই ইসিএস ক্লাস্টার স্থাপন করুন এবং ব্যবহারকারীদের নিকটবর্তী লোড ব্যালান্সারের জন্য রুট 53 জিওপ্রক্সিমিটি রাউটিং ব্যবহার করুন। মোংগোডিবি এটলাস আপনাকে অঞ্চলগুলি জুড়ে আপনার প্রতিলিপিগুলি মোতায়েন করার অনুমতি দেয় যাতে কোনও অতিরিক্ত কাজের প্রয়োজন হয় না।

এবং আমরা এখানে! আমাদের বিতরণ সিস্টেম প্রস্তুত।

উপসংহার

আপনি যে বিতরণ সিস্টেমটি এখানে দেখছেন তা এই পোস্টের জন্য সরল করা হয়েছে, আমরা অনেকগুলি আধুনিক ওয়েব অ্যাপ্লিকেশনগুলিতে আপনি যে অংশগুলি দেখতে পাচ্ছেন সম্ভবত তা পরীক্ষা করেছি। কভার নয় তবে সম্পর্কিত অন্যান্য বিষয় হ'ল মাইক্রোসার্কেস আর্কিটেকচার, ফাইল স্টোরেজ এবং এনক্রিপশন, ডাটাবেস শাড়িং, তফসিলযুক্ত কাজ, অ্যাসিনক্রোনাস সমান্তরাল কম্পিউটিং ... সম্ভবত পরবর্তী পোস্টে!

আমার সবচেয়ে গুরুত্বপূর্ণ বিষয় হ'ল: আপনি যখন আপনার পণ্যটি চালু করবেন তখন নির্ভুল সিস্টেম তৈরি করার চেষ্টা করবেন না। আপনার বেশিরভাগ ডিজাইনের সিদ্ধান্তগুলি আপনার পণ্যটি কী করছে এবং কে এটি ব্যবহার করছে তার উপর নির্ভর করে। আপনি কেবলমাত্র জানবেন যে আপনার পণ্য বাজারের জন্য প্রস্তুত হওয়ার সময় নাগাদ আপনার ব্যবহারকারীর বেস সম্পর্কে ভাল ধারণা থাকবে এবং এটি করতে কয়েক মাস বা কয়েক বছর সময় লাগতে পারে।

লোকেরা কী প্রয়োজন তা নির্ধারণের দিকে মনোনিবেশ করুন এবং এতে অনেকগুলি ম্যানুয়াল পদক্ষেপ জড়িত হলেও, তাদের সমস্যার সমাধান অনুসন্ধান করার চেষ্টা করুন। তারপরে আপনি কীভাবে স্বয়ংক্রিয় করতে পারবেন, আপনার কোডিং এবং ধ্বংস করতে আপনার সময় ব্যয় করবেন এবং তৃতীয় পক্ষগুলি মোতায়েন করুন যেখানে এটি সার্থক হয়।

স্কেল করবেন না, সর্বদা স্কেলিং সম্পর্কে চিন্তা করুন এবং এর জন্য পরিকল্পনা করুন। ধাপে ধাপে আপনার সিস্টেমটি তৈরি করুন, সিস্টেম ডিজাইন সমস্যাগুলির বিষয়ে চিন্তা করবেন না যা এখনও পরিপক্ক বৈশিষ্ট্যগুলির ভিত্তিতে নয় এবং পরিশেষে, সর্বদা ব্যয় করা সময় এবং পারফরম্যান্স, অর্থ এবং কম ঝুঁকির মধ্যে সর্বোত্তম সমঝোতার সন্ধান করার চেষ্টা করুন ।

আপনি যদি এই নিবন্ধটি উপভোগ করেছেন এবং সেগুলির কোনওটি কার্যকর খুঁজে পেয়েছেন, তবে এই বোতামটি ক্লিক করুন এবং আরও আর্কিটেকচার এবং বিকাশের নিবন্ধগুলির জন্য আমাকে অনুসরণ করুন!