ردیابی معاملات تبادل cryptocurrency با Google Cloud Platform در زمان واقعی

ساخت وبلاگ

برای انجام ایجاد خط لوله و استفاده به عنوان وب سایت خود یک ماشین مجازی ایجاد کنید.

نمونه bigtable را ایجاد کنید.

یک سطل ذخیره سازی Google Cloud ایجاد کنید

خط لوله daraflow را اجرا کنید

یک قانون فایروال ایجاد کنید تا TCP: 5000 برای تجسم اجازه دهید.

ردیابی معاملات تبادل cryptocurrency با Google Cloud Platform در زمان واقعی

GSP603

بررسی اجمالی

دنیای مالی امروز پیچیده است ، و فناوری قدیمی که برای ساخت خطوط لوله داده های مالی استفاده می شود ، ادامه نمی یابد. این خطوط لوله داده با وجود تبادل مالی متعدد در سراسر جهان و تقاضای کاربر جهانی ، باید سریع ، قابل اعتماد و مقیاس پذیر باشد.

در حال حاضر ، با استفاده از یک رویکرد اقتصادسنجی-مدل های جذاب به داده های مالی برای پیش بینی روندهای آینده-برای پیش بینی های مالی در زمان واقعی کار نمی کند. و داده هایی که قدیمی ، نادرست یا از یک منبع واحد هستند ، به داده های قابل اعتماد برای استفاده از موسسات مالی تبدیل نمی شوند.

اما ایجاد خطوط لوله با Google Cloud می تواند برخی از این چالش های مهم را حل کند. در این آزمایشگاه ، نحوه ساخت یک خط لوله برای پیش بینی روند مالی در میکرو ثانیه ، تنظیم و پیکربندی خط لوله برای مصرف داده های سری زمانی واقعی ، زمان از مبادلات مختلف مالی و نحوه طراحی یک مدل داده مناسبکه پرس و جو و نمودار را در مقیاس تسهیل می کند.

در مورد تنظیم و استفاده از معماری پیشنهادی با استفاده از Google Cloud ، به ویژه این محصولات ، آموزش زیر را پیدا خواهید کرد:

  • جریان داده های ابری برای سیستم مصرف داده های مقیاس پذیر که می تواند داده های دیررس را کنترل کند
  • Cloud bigtable ، پایگاه داده مقیاس پذیر و کم تأخیر ما که به 40 میلیون معاملات در ثانیه در 3500 گره رسیده است. پاداش: خط لوله ML مقیاس پذیر با استفاده از Tensorflow Extended ، در حالی که بخشی از این آموزش نیست ، یک مرحله بعدی منطقی است.

این آموزش نحوه ایجاد ارتباطی به مبادلات چندگانه ، عضویت در فید تجارت آنها را توضیح می دهد و این معاملات را به یک قالب انعطاف پذیر تبدیل و تبدیل می کند تا در Cloud Bigtable ذخیره شود و در دسترس باشد تا بتوانید نقشه برداری و تجزیه و تحلیل شوند.

این همچنین پایه و اساس پیش بینی های یادگیری آنلاین ML را در مقیاس تعیین می کند. خواهید دید که چگونه می توانید معاملات ، حجم و زمان دلتا را از اجرای تجارت نمودار کنید تا اینکه به سیستم شما برسد (شاخصی از نزدیک شدن به زمان واقعی می توانید داده ها را بدست آورید). می توانید جزئیات بیشتری در مورد GitHub پیدا کنید.

الزامات / راه حل ها

نیاز معمولی برای سیستم‌های معاملاتی، جذب داده‌ها با تأخیر کم است و برای این آزمایشگاه با ذخیره‌سازی اطلاعات در زمان واقعی و پرس‌وجو در مقیاس گسترش می‌یابد. موارد زیر را از این آزمایشگاه خواهید آموخت:

داده‌های معاملاتی بی‌درنگ را با تأخیر کم از منابع داده / مبادلات پراکنده در سطح جهانی دریافت کنید. امکان اتخاذ مکان خط لوله مصرف داده های کارگر. به راحتی جفت / مبادلات تجاری اضافی اضافه کنید. راه حل: Dataflow + Xchange Reactive Websockets Framework

یک کد منبع جریان نامحدود را نشان دهید که با چندین رانر قابل اجرا است. راه حل: Apache BEAM

ثبات قوی + مقیاس پذیری خطی + تأخیر بسیار کم برای پرس و جو از داده های معاملاتی. راه حل: Bigtable

پرس و جو و تجسم - پرس و جوهای سری زمانی را در Bigtable اجرا کنید و آن را در صفحه وب تجسم کنید. راه حل: Python Flask + Vis. js + Google Bigtable Python Client

معماری / چگونه کار می کند

کد منبع در جاوا 8، پایتون 3. 7، جاوا اسکریپت نوشته شده است. و Maven، PIP برای مدیریت وابستگی/ساخت.

کد را می توان به پنج واحد چارچوب اصلی تقسیم کرد:

  1. جذب داده – چارچوب XChange Stream (پیوند Github) کتابخانه جاوا یک API جریان ساده و سازگار برای تعامل با بیت کوین و سایر مبادلات ارزهای دیجیتال از طریق پروتکل WebSocket فراهم می کند. کتابخانه XChange در حال ارائه رابط های جدید برای پخش API است. کاربران می توانند برای به روز رسانی های زنده از طریق جریان های واکنشی کتابخانه RxJava مشترک شوند. ما از این چارچوب JAVA 8 برای اتصال و پیکربندی برخی صرافی ها (BitFinex، Poloniex، BitStamp، OkCoin، Gemini، HitBTC، Binance. ) استفاده می کنیم. پیوند به کد پیکربندی صرافی / جفت معاملاتی
  2. پردازش موازی - پرتو آپاچی (پیوند Github) Apache Beam یک مدل برنامه نویسی یکپارچه منبع باز برای تعریف و اجرای خطوط لوله پردازش داده، از جمله ETL، دسته ای و پردازش جریانی (پیوسته) است. رانرهای پشتیبانی شده: Apache Apex، Apache Flink، Apache Gearpump، Apache Samza، Apache Spark و Google Cloud Dataflow. شما یاد خواهید گرفت که چگونه یک منبع/خواننده جریان نامحدود ایجاد کنید و واترمارک، چک پوینت و شناسه رکورد را برای دریافت داده مدیریت کنید. به پل بین چارچوب BEAM و XChange Stream پیوند دهید
  3. سینک Bigtable - Cloud Bigtable با Beam با استفاده از HBase API.(لینک Github) اتصال دهنده و نویسنده به Bigtable. نحوه ایجاد یک کلید ردیف و ایجاد یک تابع جهش Bigtable را قبل از نوشتن در Bigtable خواهید دید. پیوند به عملکرد ایجاد / جهش کلید Bigtable
  4. Realtime API Endpoint - Flask Web Server at Port: 5000 + Bigtable Client (پیوند GitHub) برای پرس و جو از BigTable و به عنوان نقطه پایانی API استفاده می شود. پیوند به Bigtable Query Builder + بازیابی نتایج و نمونه برداری
  5. تجسم JavaScript-Vis. js الگوی فلاسک که هر 500ms نقطه پایانی API را در زمان واقعی پرس و جو می کند. پیوند به پرونده الگوی HTML

سرور وب Flask در نمونه Google Cloud VM اجرا می شود

تعریف خط لوله

برای هر جفت مبادله + معاملاتی ، یک نمونه خط لوله متفاوت ایجاد می شود. خط لوله شامل 3 مرحله است:

  1. UnboundStreamingSource که حاوی "خواننده منبع پخش بدون مرز" (Bitstamp2) است
  2. جهش قبل از نوشتن و تعریف کلیدی (ETH-USD MUT2)
  3. Bigtable Writ Step (ETH-USD2)

تصمیمات طراحی کلید Row Bigtable Row

DTO برای این آزمایشگاه به این شکل است:

ساختار کلید ردیف به روش زیر تدوین شده است:

به عنوان مثال: یک کلید ردیف ممکن است شبیه BTC/USD باشد#Bitfinex63187358085

BTC/USD - جفت معاملات

BitFinex - مبادله

1546547940918 - Timestamp Epoch (اطلاعات بیشتر)

63187358085 - سیستم نانو زمان (اطلاعات بیشتر)

چرا نانوتیم در انتهای کلید اضافه می شود؟

برای جلوگیری از نسخه های مختلف در هر سطر برای معاملات مختلف از نانوتیم استفاده می شود. اگر یک توالی جریان از DTO های TradEload وجود داشته باشد ، دو جهش DOFN ممکن است در همان زمان MS MS انجام شود. نانوت در پایان میلی ثانیه به یک میلیون نفر دیگر تقسیم می شود.

در محیط شخصی خود ، اگر این کافی نباشد ، می توانید نسبت حجم / قیمت را هش دهید و هش را در انتهای کلید ردیف وصل کنید.

سلولهای ردیف حاوی یک ماکت دقیق طرحواره ای از TradeLoad DTO هستند (در اوایل جدول بالا مشاهده می کنید). این انتخاب به شما کمک می کند تا از یک (جفت معاملاتی) - (مبادله) به کمتر خاص (Timestamp - Nanotime) بروید و هنگام پرس و جو از کانون ها خودداری کنید.

راه اندازی و الزامات

قبل از کلیک بر روی دکمه Start Lab

این دستورالعمل ها را بخوانید. آزمایشگاه ها به موقع هستند و شما نمی توانید آنها را مکث کنید. تایمر ، که با کلیک بر روی LAB شروع می شود ، نشان می دهد که منابع Google Cloud چقدر در دسترس شما قرار خواهد گرفت.

این آزمایشگاه دستی به شما امکان می دهد فعالیت های آزمایشگاهی را خودتان در یک محیط ابر واقعی انجام دهید ، نه در یک محیط شبیه سازی یا نسخه ی نمایشی. این کار را با ارائه اعتبار جدید و موقت که برای ورود به سیستم و دسترسی به Google Cloud برای مدت زمان آزمایشگاه به شما ارائه می دهند ، این کار را انجام می دهد.

برای تکمیل این آزمایشگاه ، شما نیاز دارید:

  • دسترسی به یک مرورگر استاندارد اینترنت (مرورگر Chrome توصیه می شود).
  • زمان تکمیل آزمایشگاه --- به یاد داشته باشید ، پس از شروع ، نمی توانید یک آزمایشگاه را مکث کنید.

چگونه آزمایشگاه خود را شروع کنیم و وارد کنسول Google Cloud شوید

روی دکمه Start Lab کلیک کنید. اگر نیاز به پرداخت هزینه آزمایشگاه دارید ، پاپ آپ برای انتخاب روش پرداخت خود باز می شود. در سمت چپ پانل آزمایشگاه با موارد زیر قرار دارد:

  • دکمه Open Console Google
  • زمان باقی مانده
  • اعتبار موقت که باید برای این آزمایشگاه استفاده کنید
  • در صورت لزوم اطلاعات دیگر برای قدم گذاشتن در این آزمایشگاه

روی باز کردن کنسول Google کلیک کنید. آزمایشگاه منابع را می چرخاند ، و سپس برگه دیگری را باز می کند که علامت ورود به سیستم را نشان می دهد.

نکته: زبانه ها را در ویندوزهای جداگانه ، در کنار هم ترتیب دهید.

در صورت لزوم ، نام کاربری را از صفحه آزمایشگاه کپی کرده و آن را در گفتگوی Sign In Sign قرار دهید. Next را کلیک کنید

رمز عبور را از صفحه آزمایشگاه کپی کرده و آن را در گفتگوی Welcome قرار دهید. Next را کلیک کنید

از طریق صفحات بعدی کلیک کنید:

  • شرایط و ضوابط را بپذیرید.
  • گزینه های بازیابی یا احراز هویت دو عاملی را اضافه نکنید (زیرا این یک حساب موقتی است).
  • برای آزمایش های رایگان ثبت نام نکنید.

پس از چند لحظه ، کنسول ابر در این برگه باز می شود.

توجه: می توانید با کلیک بر روی منوی ناوبری در سمت چپ بالا ، منو را با لیستی از محصولات و خدمات Google Cloud مشاهده کنید.

پوسته ابر را فعال کنید

Cloud Shell یک ماشین مجازی است که با ابزارهای توسعه پر شده است. این یک دایرکتوری خانگی مداوم 5 گیگابایتی را ارائه می دهد و در Google Cloud اجرا می شود. Cloud Shell دسترسی خط فرمان به منابع Google Cloud شما را فراهم می کند.

  1. روی فعال کردن پوسته Cloud در بالای کنسول Google Cloud کلیک کنید.

هنگامی که به هم متصل هستید ، قبلاً تأیید شده اید و پروژه روی Project_ID شما تنظیم شده است. خروجی حاوی خطی است که برای این جلسه Project_id را اعلام می کند:

پروژه پلتفرم ابری شما در این جلسه روی your_project_id تنظیم شده است

GCLOUD ابزار خط فرمان برای Google Cloud است. این از قبل نصب شده بر روی پوسته ابر است و از تکمیل زبانه پشتیبانی می کند.

(اختیاری) می توانید نام حساب فعال را با این دستور لیست کنید:

روی مجوز کلیک کنید.

خروجی شما اکنون باید به این شکل باشد:

خروجی:

(اختیاری) می توانید شناسه پروژه را با این دستور لیست کنید:

خروجی:

خروجی مثال:

[Core] Project = QwikLabs-GCP-44776A13DEA667A6 توجه: برای مستندات کامل GCLOUD ، در Google Cloud ، به راهنمای نمای کلی GCLOUD CLI مراجعه کنید.

کار 1. منابع آزمایشگاهی خود را ایجاد کنید

برای انجام ایجاد خط لوله و استفاده به عنوان وب سایت خود به یک ماشین مجازی نیاز دارید.

در Cloud Shell ، دستور زیر را اجرا کنید:

از حساب سرویس موتور محاسباتی با دامنه API Cloud استفاده می شود. این مجوزهای لازم را برای ایجاد منابع لازم برای محیط شما فراهم می کند.

صبر کنید تا نمونه شروع شود.

برای تأیید هدف ، روی بررسی پیشرفت من کلیک کنید.

برای انجام ایجاد خط لوله و استفاده به عنوان وب سایت خود یک ماشین مجازی ایجاد کنید.

از طریق SSH به نمونه وصل شوید

In the Cloud Platform Console , on the Navigation menu, click Compute Engine >موارد VM

به عنوان مثال به نام Crypto-Driver ، روی SSH کلیک کنید.

یک پنجره باز می شود و شما به طور خودکار به عنوان مثال وارد می شوید. شما تمام دستورات را برای باقیمانده این آزمایشگاه در پنجره SSH اجرا خواهید کرد.

دستورات زیر را برای نصب تمام ابزارهای لازم (مانند Java ، Git ، Maven ، PIP ، Python و Cloud Bigtable Tool CBT) اجرا کنید:

این همچنین VirtualEnV را برای محیط پایتون نصب می کند. تمام کد مربوط به پایتون در VirtualEnv اجرا می شود.

اکنون منبع bigtable را ایجاد کنید. اولین دستور GCLOUD API BIGTABLE و DATAFLOW مورد نیاز را در پروژه فعال می کند. دستور بعدی یک خوشه بزرگ به نام "CryptorealTime-C1" با یک نمونه به نام "CryptorealTime" ایجاد می کند. نوع نمونه توسعه است و بنابراین یک نمونه یک گره خواهد بود. و سرانجام ، با استفاده از دستور CBT ، شما می توانید یک جدول به نام "CryptorealTime" با یک خانواده ستون به نام "Market" در نمونه Bigtable ایجاد کنید.

برای تأیید هدف ، روی بررسی پیشرفت من کلیک کنید.

نمونه bigtable را ایجاد کنید

برای این آزمایشگاه ، یک خانواده یک ستون به نام Market برای ساده سازی طراحی طرحواره استفاده می شود. برای اطلاعات بیشتر در مورد آن می توانید این لینک را بخوانید.

دستور زیر را برای ایجاد یک سطل اجرا کنید:

این سطل توسط کار DataFlow به عنوان یک منطقه مرحله بندی برای پرونده های JAR استفاده خواهد شد.

برای تأیید هدف ، روی بررسی پیشرفت من کلیک کنید.

اکنون مخزن کد منبع برنامه را کلون کنید:

موارد زیر را برای ساخت نرم افزار اجرا کنید:

خروجی:

کد این آزمایشگاه به صورت جاوا نوشته شده است که باید با استفاده از ابزار ساخت Maven ، به عنوان یک فایل JAR تهیه و بسته بندی شود. ساخت و ساز چند دقیقه طول خواهد کشید ، لطفاً صبر کنید تا پیام موفقیت ساخت را ببینید.

پس از اتمام ساخت ، خط لوله را شروع کنید:

اگر سیاههها را بررسی کردید ، نگران خطاهایی که می بینید نگران نباشید. نادیده گرفتن استثناء استخر موضوع غیرقانونی.

صبر کنید تا دستور تکمیل شود.

Run. Sh Script یک بسته بندی برای ارسال کار ردیابی Crypto DataFlow در Google Cloud است. استدلال های زیر را می طلبد:

  • نام پروژه،
  • نام نمونه بزرگ ،
  • سطل ذخیره سازی ابری برای استفاده به عنوان منطقه مرحله بندی ،
  • نام جدول bigtable و
  • نام خانوادگی ستون برای نوشتن خروجی خط لوله.

با شروع خط لوله ، دو گره کارگر ایجاد می کند. در این مرحله ، دو VM اضافی را در پروژه خود مشاهده خواهید کرد.

چند دقیقه صبر کنید ، سپس موارد زیر را اجرا کنید تا معاملات ورودی را با نگاه کردن به BigTable مشاهده کنید. شما می توانید این کار را با استفاده از ابزار CLI CLI CLI (به نام CBT) انجام دهید. اگر خط لوله با موفقیت در حال اجرا است ، باید داده های جدیدی را که در جدول CryptorealTime ظاهر می شوند مشاهده کنید.

اگر داده ها در جریان است ، چیزی مانند موارد زیر را مشاهده خواهید کرد. اگر چیزی نمی بینید ، لطفاً یک دقیقه صبر کنید و دوباره امتحان کنید.

برای تأیید هدف ، روی بررسی پیشرفت من کلیک کنید.

خط لوله DataFlow را اجرا کنید

کار 2. خط لوله Dataflow را بررسی کنید

در کنسول Cloud Platform ، در منوی ناوبری ، روی DataFlow کلیک کنید.

روی نام خط لوله موجود کلیک کنید.

شما باید وضعیت را به عنوان کار برای مشاغل ذکر شده مشاهده کنید.

توجه: نوع خطای Javalang را نادیده بگیرید و در آزمایشگاه پیش بروید.

کار 3. تجسم داده ها

شما محیط را پیکربندی کرده و تجسم سرور Frontend Python Flask را در این مراحل بعدی اجرا می کنید.

به جلسه SSH برگردید و دستور زیر را برای باز کردن پورت فایروال 5000 برای تجسم اجرا کنید:

اکنون VM را با قانون فایروال پیوند دهید:

برای تأیید هدف ، روی بررسی پیشرفت من کلیک کنید.

بعد ، به فهرست Frontend بروید:

در صورت پیشبرد (Y/N)؟، y را فشار دهید.

PIP نصب Flask Jinja2 App. py $ cryptorealtime CryptorealTime Market

App. py یک برنامه پایتون برای تجسم داده های ارز رمزنگاری شده در جدول BigTable "CryptoreAltime" است.

یک جلسه SSH دیگر را باز کنید و دستور زیر را اجرا کنید تا آدرس IP خارجی خود را برای نمونه Crypto-Driver پیدا کنید:

آدرس IP خارجی نمایش داده شده را برای استفاده برای دستور بعدی کپی کنید.

یک برگه جدید را در مرورگر وب خود باز کنید و از URL زیر برای دیدن تجسم استفاده کنید ، جایگزین آدرس IP که از دستور قبلی برگشته است:

شما باید تجسم جفت Ask/Bid جمع شده را در چندین مبادله (بدون قسمت پیش بینی کننده) مشاهده کنید.

شما یک ناظر چندگانه تبادل "Periscope" در زمان واقعی ایجاد کرده اید.

کار 4. تمیز کردن

با پایان یافتن این آزمایشگاه ، پلت فرم آزمایشگاه منابع مورد استفاده شما را حذف می کند. در محیط شخصی خود ، مفید است بدانید که چگونه می توانید با تمیز کردن منابع استفاده نشده یا دیگر مورد نیاز خود را صرفه جویی کنید.

می توانید خط لوله را در کنسول یا در جلسه SSH متوقف کنید. با هر روش چند دقیقه طول می کشد.

کنسول: به صفحه DataFlow برگردید ، روی نام کار خود کلیک کنید و روی Stop کلیک کنید. لغو را انتخاب کنید ، سپس کار را متوقف کنید.

در داخل جلسه دوم SSH اجرا:

GCLOUD DATAFLOW JOBS CANCEL $ (GCLOUD DATAFLOW LIST LIST --FORMAT = 'مقدار (id)' -filter = "Name: runThePipeline*" -Region = "US-Central1")

هنگامی که خط لوله متوقف شد ، با فشار دادن Ctrl+c به خط فرمان در جلسه SSH برگردید.

در داخل جلسه SSH دستورات زیر را برای خالی کردن و حذف سطل اجرا کنید:

در داخل جلسه SSH دستور زیر را اجرا کنید تا نمونه Bigtable را حذف کنید:

در صورت درخواست ، آیا می خواهید ادامه دهید (y/n) ، y را فشار دهید.

کنسول SSH را ببندید.

In the Cloud Platform Console , on the Navigation menu , click Compute Engine >موارد VM

کادر کنار نمونه Crypto-Driver را بررسی کنید و سپس بر روی Delete کلیک کنید ، سپس دوباره حذف کنید تا عمل خود را تأیید کنید.

تبریک می گویم!

شما یاد گرفته اید که چگونه موارد زیر را انجام دهید:

تنظیم و پیکربندی خط لوله برای مصرف داده های سری زمانی واقعی از مبادلات مختلف رمزنگاری.

یک مدل داده مناسب را طراحی کنید ، که پرس و جو و نمودار را در مقیاس تسهیل می کند.

معماری پیشنهادی را با استفاده از Google Cloud تنظیم و مستقر کنید.

شما ارتباطی به مبادلات متعدد ایجاد کرده اید ، که در فید تجارت آنها مشترک شده اید ، سپس این معاملات را به یک قالب انعطاف پذیر تبدیل کرده و تبدیل کرده اید تا در Bigtable ذخیره شود تا بتوانید گپ بزنید و مورد تجزیه و تحلیل قرار بگیرید.

مراحل بعدی/ اطلاعات بیشتر

این آزمایشگاه بر اساس این مقاله متوسط توسط Ivo Galic ساخته شده است.

آموزش و صدور گواهینامه Google Cloud

بشربه شما کمک می کند تا از فن آوری های Google Cloud نهایت استفاده را ببرید. کلاس های ما شامل مهارت های فنی و بهترین شیوه ها برای کمک به شما در سرعت بخشیدن به سرعت و ادامه سفر یادگیری است. ما آموزش های اساسی در سطح پیشرفته را با گزینه های تقاضا ، زنده و مجازی متناسب با برنامه شلوغ خود ارائه می دهیم. گواهینامه ها به شما در اعتبار و اثبات مهارت و تخصص خود در Google Cloud Technologies کمک می کنند.

کتابچه راهنمای کاربر آخرین آزمایش 26 سپتامبر 2022

کتابچه راهنمای کاربر آخرین به روز شده در 11 اوت 2022

کپی رایت 2022 Google LLC کلیه حقوق محفوظ است. Google و آرم Google علائم تجاری Google LLC هستند. کلیه نام های شرکت و محصول دیگر ممکن است علائم تجاری شرکتهای مربوطه باشد که با آنها در ارتباط هستند.

در این آزمایشگاه از Google Cloud Services برای کمک به معاملات نمودار ، حجم و دلتا زمان از اجرای تجارت استفاده خواهید کرد تا هرگونه الگوی در نوسانات بالای بازار cryptocurrency را ببینید.

این آزمایشگاه در داده های کاربردی Quest: blockchain گنجانده شده است. اگر این آزمایشگاه را تکمیل کنید ، هنگام ثبت نام در این تلاش ، اعتبار آن را دریافت خواهید کرد.

فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید

برچسب : نویسنده : آرش اصل زاد بازدید : 60 تاريخ : جمعه 11 فروردين 1402 ساعت: 12:27