د کاري ویډیو خدماتو ګړندي پرمختګ لپاره بې سروره چلند

د کاري ویډیو خدماتو ګړندي پرمختګ لپاره بې سروره چلند

زه په آؤټ سورسنګ کې کار کوم ، چیرې چې اصلي اصل د جملې لخوا تشریح کیدی شي "ډیر وپلورئ ، ژر یې وکړئ." هرڅومره چې ګړندي دا کار کوو ، هومره به یې ترلاسه کړو. او، دا د پام وړ ده چې هر څه په کرچ او سنوټ کار نه کوي، مګر د کیفیت د منلو وړ کچې سره. زه به تاسو ته زما د تجربې په اړه ووایم کله چې په لنډ وخت کې د پروموشنل خدمت رامینځته کولو ته اړتیا وه.

ورکړل شوی: په AWS کې د روټ حساب، د ټیکنالوژۍ سټیک انتخاب، یو پس منظر، او یوه میاشت د پراختیا لپاره هیڅ محدودیت نشته.

دنده: یو پروموشنل خدمت پلي کوي چیرې چې کاروونکي له یو څخه تر څلورو ویډیوګانو اپلوډ کوي چې له یو څخه تر څلورو ثانیو پورې دوام لري ، کوم چې بیا د اصلي ویډیو لړۍ کې ځای په ځای شوي.

پریکړه

په دومره لنډ وخت کې د خپل بایسکل خدمت لیکل ښه نظر نه دی. سربیره پردې ، د بار سره د مقابلې لپاره د خدماتو لپاره او د هرچا لپاره چې مطلوب ویډیو ترلاسه کړي ، زیربنا ته اړتیا وي. او په غوره توګه د الوتکې څخه د قیمت ټاګ سره نه. له همدې امله ، موږ سمدلاسه د لږترلږه دودیز کولو سره چمتو شوي حلونو باندې تمرکز کوو.

د ویډیو سره کار کولو لپاره معیاري حل FFmpeg دی ، د کراس پلیټ فارم کنسول یوټیلیټ چې د دلیلونو له لارې تاسو ته اجازه درکوي آډیو کټ او ډیر ډوب کړئ. ټول هغه څه چې کولو ته پاتې دي هغه یو ریپر ولیکئ او په ژوند کې یې خوشې کړئ. موږ یو پروټوټایپ لیکو چې دوه ویډیوګانې سره یوځای کوي، او ... تفریح ​​​​پیل کیږي. کتابتون د .NET کور 2 پر بنسټ والړ دی، دا باید په هر مجازی ماشین کې چلیږي، نو موږ د AWS EC2 مثال اخلو او هرڅه به کار وکړي

پټ متننه، دا کار نه کوي
.
که څه هم FFmpeg دنده ساده کوي، د ریښتینې کاري حل لپاره تاسو اړتیا لرئ د EC2 مثال جوړ کړئ او د دې لپاره د شبکې زیربنا ډیزاین کړئ، په شمول د بار بیلنسر. د سکریچ څخه د ګمارلو ساده دنده "یو څه" ډیر پیچلي کیږي، او زیربنا سمدلاسه د پیسو غوښتنه پیل کوي - په هر ساعت کې د چلولو وخت لپاره پیسې د پیرودونکي حساب څخه ایستل کیږي.

زموږ په خدمت کې اوږدمهاله پروسې شاملې نه دي، لوی او غوړ اړونده ډیټابیس ته اړتیا نلري، او د مایکرو سرویس زنګونو سلسله سره د پیښې پر بنسټ جوړښت کې په بشپړه توګه فټ کیږي. حل پخپله وړاندیز کوي - موږ کولی شو EC2 پریږدو او د ریښتیني سرور بې غوښتنلیک پلي کړو ، لکه د AWS Lambda پراساس د معیاري عکس ریسائزر په څیر.

په هرصورت، د .NET لپاره د AWS پراختیا کونکو ښکاره ناخوښۍ سره سره، دوی د .NET کور 2.1 د رن ټایم په توګه ملاتړ کوي، کوم چې د پراختیا فرصتونو بشپړ لړۍ چمتو کوي.

او په کیک کې چیری - AWS د ویډیو فایلونو سره کار کولو لپاره جلا خدمت چمتو کوي - AWS Elemental MediaConvert.

د کار جوهر خورا په زړه پوري ساده دی: موږ د وتلو ویډیو ته د S3 لینک اخلو ، د AWS کنسول ، .NET SDK یا په ساده ډول JSON له لارې لیکو چې موږ یې د ویډیو سره څه کول غواړو او خدمت ته زنګ وهو. دا پخپله د راتلونکو غوښتنو پروسس کولو لپاره کتارونه پلي کوي ، پخپله S3 ته پایله اپلوډ کوي او خورا مهم ، د هر حالت بدلون لپاره د CloudWatch پیښه رامینځته کوي. دا موږ ته اجازه راکوي چې د ویډیو پروسس بشپړولو لپاره لامبډا محرکات پلي کړو.

د کاري ویډیو خدماتو ګړندي پرمختګ لپاره بې سروره چلند
دا هغه څه دي چې وروستی جوړښت داسې ښکاري:

ټول پس منظر په دوه لامبډا کې ځای پر ځای شوی دی. بل یې د عمودی ویډیوګانو د ګرځولو لپاره دی، ځکه چې دا ډول کار په یوه پاس کې نشي ترسره کیدی.

موږ به مخ د SPA غوښتنلیک په شکل کې ځای په ځای کړو چې په JS کې لیکل شوي او په عامه S3 بالټ کې د پګ له لارې ترتیب شوي. د ویډیوګانو پخپله ډاونلوډ کولو لپاره ، موږ هیڅ سرور کوډ ته اړتیا نلرو - موږ یوازې د REST پای ټکي خلاصولو ته اړتیا لرو چې S3 موږ ته چمتو کوي. یوازینی شی دا دی چې د پالیسیو او CORS تنظیم کول مه هیروئ.

نخشه

  • AWS MediaConvert، د ځینې نامعلوم دلیل لپاره، یوازې د هرې ویډیو برخې لپاره په جلا توګه غږ پلي کوي، مګر موږ د ټول سکرین سیور څخه خوشحاله سندرې ته اړتیا لرو.
  • عمودی ویډیوګانې باید په جلا توګه پروسس شي. AWS تور بارونه نه خوښوي او رولرونه په 90 ° کې اچوي.

د سکیټینګ اسانه رینک

د بې ثباتۍ د ټولو ښکلا سره سره، تاسو اړتیا لرئ هغه څه تعقیب کړئ چې د ویډیو سره باید ترسره شي: د بشپړ شوي ویډیو ترتیب کې آډیو گلو یا اضافه کړئ. خوشبختانه، MediaConvert د خپلو دندو له لارې د میټاډاټا تیرولو ملاتړ کوي، او موږ کولی شو د "isMasterSoundJob" بڼه یو ساده بیرغ وکاروو، دا میټاډاټا په هر پړاو کې تجزیه کړو.

سرور لیس په بشپړ ډول د NoOps سره کار کولو ته اجازه ورکوي - یوه داسې تګلاره چې د پروژې زیربنا لپاره مسؤل د جلا ټیم غیر ضروري توب فرضوي. له همدې امله، دا یوه کوچنۍ موضوع وه - موږ د سیسټم مدیرانو د ګډون پرته په AWS کې حل ځای پرځای کوو، څوک چې تل د هر څه کولو لپاره یو څه لري.
او د دې ټولو ګړندي کولو لپاره ، موږ د AWS کلاوډ فارمیشن کې د امکان تر حده د پلي کولو سکریپټ اتومات کوو ، کوم چې تاسو ته اجازه درکوي په مستقیم ډول له VS څخه د یوې تڼۍ سره ځای په ځای کړئ. د پایلې په توګه ، د کوډ 200 لینونو فایل تاسو ته اجازه درکوي چمتو شوي حل رامینځته کړئ ، که څه هم د CloudFormation ترکیب ټکان ورکوونکی کیدی شي که تاسو ورسره عادت نه یاست.

ټول

بې سرپرسته درملنه نه ده. مګر دا به په دریو محدودیتونو کې ژوند خورا اسانه کړي: "محدود سرچینې - لنډ مهاله - لږې پیسې."

د غوښتنلیکونو ځانګړتیاوې چې د بې سرور لپاره مناسب دي

  • د اوږدې مودې پروسې پرته. د API ګیټ وے سخت حد 29 ثانیې دی، د لیمبډا سخت حد 5 دقیقې دی؛
  • د پیښې پرمخ وړونکي جوړښت لخوا تشریح شوی؛
  • په نرمه جوړه شوې اجزاو لکه SOA کې ماتیږي؛
  • ستاسو د حالت سره ډیر کار ته اړتیا نلري؛
  • په .NET کور کې لیکل شوی. د .NET چوکاټ سره کار کولو لپاره، تاسو به لاهم د مناسب وخت سره لږترلږه ډاکر ته اړتیا ولرئ.

د سرور بې لارې تګلارې ګټې

  • د زیربناوو لګښتونه کموي؛
  • د حل وړاندې کولو لګښت کموي؛
  • اتوماتیک اندازه کول؛
  • د ټیکنالوژیک پرمختګ په وروستي څنډه کې پرمختګ.

نیمګړتیاوې، د یو ځانګړي مثال سره

  • توزیع شوي تعقیب او ننوتل - په جزوي ډول د AWS X-Ray او AWS CloudWatch له لارې حل شوی؛
  • نا آرامه ډیبګ کول؛
  • سړه پیل کله چې بار نه وي؛
  • د AWS کارونکي دښمني انٹرفیس یوه نړیواله ستونزه ده :)

سرچینه: www.habr.com

Add a comment