ByteHeavy
ByteHeavy
আমাদের কাজ
ক্লায়েন্ট পোর্টফোলিও প্রকাশ করার ক্ষেত্রে আমরা এখনও প্রাথমিক পর্যায়ে আছি, তাই এগুলো আমরা যে ধরনের ইঞ্জিনিয়ারিং করি তার উদাহরণ — নির্দিষ্ট কোনো ক্লায়েন্ট-প্রজেক্টের দাবি নয়।

TypeScript, Postgres, Redis
একটি মাঝারি আকারের Discord কমিউনিটির জন্য তৈরি, যার প্রয়োজন ছিল এমন একটি ইন-সার্ভার কারেন্সি সিস্টেম যাতে বেশিরভাগ 'দ্রুত' ইকোনমি বটে দেখা যাওয়া এক্সপ্লয়েট ও রেস কন্ডিশন না থাকে। প্রতিটি ব্যালেন্স পরিবর্তন একটি সিরিয়ালাইজেবল ডেটাবেস ট্রানজ্যাকশনে মোড়ানো, তাই দুটো একযোগে ট্রেড একই কয়েন দুবার খরচ করতে পারে না — এই ধরনের বাগ যেকোনো বহিরাগত আক্রমণকারীর চেয়ে বেশি Discord ইকোনমি নীরবে দেউলিয়া করে দিয়েছে। সংবেদনশীল অ্যাডমিন অ্যাকশন (ব্যালেন্স এডিট, আইটেম গ্রান্ট, ব্যান) একটি অপরিবর্তনীয় অডিট ট্রেইলে লগ করা হয় যাতে বিরোধের ক্ষেত্রে 'কে কী বলেছে'-র বদলে একটি কাগুজে প্রমাণ থাকে। পুরো সিস্টেমটি সর্বোচ্চ কনকারেন্ট লোডে পরীক্ষিত হয়েছে — একটি কমিউনিটি ইভেন্টের সময় একই কয়েক মিনিটে হাজার হাজার ইন্টারঅ্যাকশন — Discord-এর নিজের API রেট লিমিটে না ঠেকে, কারণ রিকোয়েস্ট কিউটি Discord-এর সার্ভারে পৌঁছানোর আগেই আমাদের দিকে থ্রটল ও ব্যাচ করা হয়।
Java, Paper API — portable pattern
মূলত একটি Minecraft (Paper API) সার্ভারের জন্য তৈরি একটি আচরণ-ভিত্তিক ডিটেকশন স্তর, যা পরিসংখ্যানগতভাবে অস্বাভাবিক মুভমেন্ট, এইম এবং কমব্যাট প্যাটার্ন ধরার জন্য ডিজাইন করা, প্লেয়ারদের কোনো ক্লায়েন্ট-সাইড মড ইনস্টল করার প্রয়োজন ছাড়াই — পুরো ইঞ্জিনটি সার্ভার-সাইডে চলে, তাই একজন চিট ডেভেলপারের রিভার্স-ইঞ্জিনিয়ার করা বা বাইপাস করার মতো ক্লায়েন্টে কিছুই নেই। কঠোর সীমাবদ্ধতা ছিল পারফরম্যান্স: ডিটেকশন লজিক সার্ভারের নিজের টিক লুপের ভেতরে চলে, তাই প্রতিটি চেক মাইক্রোসেকেন্ড পর্যন্ত প্রোফাইল ও অপ্টিমাইজ করা হয়েছে, যাতে পর্যবেক্ষণ করা একজন প্লেয়ারের চারপাশের হাজার হাজার বৈধ প্লেয়ারের জন্য কোনো লক্ষণীয় ল্যাগ যোগ না হয়। এর অন্তর্নিহিত প্যাটার্ন — একটি টাইট রিয়েল-টাইম লুপের ভেতরে চলা পরিসংখ্যানগত অস্বাভাবিকতা শনাক্তকরণ — শুধু Minecraft-এর জন্য নির্দিষ্ট নয়; একই আর্কিটেকচার যেকোনো লাইভ সিস্টেমে জালিয়াতি শনাক্তকরণের ক্ষেত্রে প্রযোজ্য যেখানে 'কিছু একটা ঠিক মনে হচ্ছে না' মিলিসেকেন্ডে ধরতে হয়, একদিন পরে লগ ফাইলে পর্যালোচনা করে নয়।
Go, PostgreSQL RLS
একটি শেয়ার্ড ডিপ্লয়মেন্ট থেকে একাধিক পৃথক ক্লায়েন্ট প্রতিষ্ঠানকে সার্ভ করা একটি ব্যাকএন্ড, যেখানে PostgreSQL Row-Level Security ডেটাবেস স্তরেই ডেটা আইসোলেশন বলবৎ করে — শুধু অ্যাপ্লিকেশন কোডে নয় যা ভবিষ্যতে কোনো বাগ বাইপাস করে দিতে পারে। এমনকি একটি সম্পূর্ণভাবে আপোসকৃত বা খারাপভাবে কনফিগার করা অ্যাপ্লিকেশন সার্ভারও একটি টেন্যান্টের ডেটা অন্যটিতে লিক করতে পারে না, কারণ ডেটাবেস নিজেই কোয়েরিটি চালানোর আগেই প্রত্যাখ্যান করে, অ্যাপ্লিকেশন কোড যা-ই অনুরোধ করুক না কেন। বিশেষভাবে Go-তে তৈরি কারণ এর হালকা গোরুটিন একটি ডিপ্লয়মেন্টকে একই স্কেলে থ্রেড-পার-রিকোয়েস্ট মডেলের মেমরি ওভারহেড ছাড়াই স্বাচ্ছন্দ্যে হাজার হাজার কনকারেন্ট পার-টেন্যান্ট কানেকশন খোলা রাখতে দেয়।
Go, Redis
একগুচ্ছ ব্যাকএন্ড API-এর সামনে বসে থাকা একটি গেটওয়ে সার্ভিস, যা কখনোই কোনো স্পাইককে পেছনের সার্ভিস ফেলে না দিয়ে বার্স্টি, উচ্চ-ভলিউম ট্রাফিক শুষে নেওয়ার জন্য তৈরি। ডিস্ট্রিবিউটেড রেট লিমিটিং ও রেসপন্স ক্যাশিং Redis-এ থাকে, প্রতিটি গেটওয়ে ইনস্ট্যান্স জুড়ে শেয়ার করা, তাই একটি রিকোয়েস্ট যে ইনস্ট্যান্সেই পড়ুক না কেন সীমা সামঞ্জস্যপূর্ণভাবে বলবৎ থাকে। এটা স্পষ্টভাবে গ্রেসফুল ডিগ্রেডেশনের চারপাশে ডিজাইন করা হয়েছিল: একটি হঠাৎ ১০ গুণ ট্রাফিক স্পাইক এজে থ্রটল ও কিউ করা হয়, তাই ব্যাকএন্ড একটি দেয়ালের বদলে একটি মসৃণ, শোষণযোগ্য কার্ভ দেখে — একটি ধীর রেসপন্স এবং সম্পূর্ণ আউটেজের মধ্যে পার্থক্য।
// Client work previews are demoed live, not shipped as
// downloadable source — ask us for a walkthrough.