
۴۴٬۰۰۰تومان
نوع فایل دانلود: EPUB
پس از خرید، یک فایل EPUB دریافت میکنید.
این فایل با Calibre، Apple Books و سایر کتابخوانهای دیجیتال مناسب است.
جلد -- حق نشر -- امتیازات -- درباره نویسنده -- درباره ارزیاب -- www.PacktPub.com -- بازخورد مشتریان -- فهرست مطالب -- مقدمه -- مقدمه کتاب -- فصل ۱: درک ریزسرویسها -- ریشههای معماری سرویسگرا -- رویکرد یکپارچه (مونولیتیک) -- رویکرد ریزسرویس -- مزایای ریزسرویس -- جداسازی وظایف -- پروژههای کوچکتر -- مقیاسپذیری و استقرار -- چالشها و خطاهای رایج ریزسرویسها -- تقسیم غیرمنطقی -- تعاملات شبکه بیشتر -- ذخیره و اشتراکگذاری دادهها -- مسائل سازگاری -- تست کردن -- پیادهسازی ریزسرویسها با پایتون -- استاندارد WSGI -- کتابخانههای Greenlet و Gevent -- توییستد و تورنادو -- asyncio -- عملکرد زبان -- خلاصه -- فصل ۲: آشنایی با Flask -- کدام پایتون؟ -- Flask چگونه درخواستها را مدیریت میکند -- مسیریابی -- متغیرها و مبدلها -- تابع url_for -- درخواست -- پاسخ -- امکانات داخلی Flask -- شیء session -- متغیرهای سراسری -- سیگنالها -- افزونهها و میانافزارها -- الگوها (Templates) -- پیکربندی -- بلوپرینتها -- مدیریت خطا و عیبیابی -- کنترلکننده خطای سفارشی -- حالت عیبیابی (Debug) -- اسکلت یک ریزسرویس -- خلاصه -- فصل ۳: کدنویسی، تست و مستندسازی - چرخه سازنده -- انواع مختلف تست -- تستهای واحد -- تستهای عملکردی -- تستهای یکپارچهسازی -- تستهای بار -- تستهای سرتاسری -- استفاده از WebTest -- استفاده از pytest و Tox -- مستندسازی توسعهدهنده -- ادغام مداوم (CI) -- Travis-CI -- ReadTheDocs -- Coveralls -- خلاصه -- فصل ۴: طراحی Runnerly -- برنامه Runnerly -- داستانهای کاربر -- طراحی یکپارچه -- مدل -- نما و الگو -- پسزمینه و وظایف پسزمینه -- توکن Strava -- احراز هویت و مجوز دسترسی -- کنار هم گذاشتن طراحی یکپارچه -- تقسیم کردن معماری یکپارچه -- سرویس داده -- استفاده از Open API 2.0 -- تقسیم بیشتر -- خلاصه -- فصل ۵: تعامل با سایر سرویسها -- فراخوانیهای همگام با استفاده از Session در برنامه Flask -- استخر اتصال (Connection Pooling) -- هدرهای کش HTTP -- بهبود انتقال داده -- فشردهسازی GZIP -- بارگذاریهای دودویی (Binary Payloads) -- کنار هم گذاشتن موارد -- فراخوانیهای ناهمگام -- صفهای وظیفه -- صفهای موضوعی -- انتشار/اشتراک -- RPC روی AMQP -- کنار هم گذاشتن موارد -- تست کردن -- شبیهسازی فراخوانیهای همگام -- شبیهسازی فراخوانیهای ناهمگام -- شبیهسازی Celery -- شبیهسازی سایر فراخوانیهای ناهمگام -- خلاصه -- فصل ۶: مانیتورینگ سرویسها -- متمرکزسازی لاگها -- راهاندازی Graylog -- ارسال لاگها به Graylog -- افزودن فیلدهای اضافی -- معیارهای عملکرد -- معیارهای سیستم -- معیارهای کد -- معیارهای وبسایت و وبسرویس -- خلاصه -- فصل ۷: امنسازی سرویسها -- پروتکل OAuth2 -- احراز هویت مبتنی بر توکن -- استاندارد JWT -- کتابخانه PyJWT -- احراز هویت مبتنی بر گواهی X.509 -- ریزسرویس TokenDealer -- پیادهسازی POST/oauth/token -- استفاده از TokenDealer -- فایروال برنامه وب -- OpenResty - لوآ و Nginx -- محدودسازی نرخ و همگامی -- سایر ویژگیهای OpenResty -- امنسازی کد -- اعتبارسنجی دادههای ورودی -- محدود کردن دامنه برنامه -- استفاده از ابزار بررسی کد Bandit -- خلاصه -- فصل ۸: کنار هم گذاشتن تمام بخشها -- ساخت داشبورد با ReactJS -- سینتکس JSX -- کامپوننتهای React -- ریاکت و فلاسْک -- استفاده از Bower، npm و Babel -- اشتراک منابع متقابل (CORS) -- احراز هویت و مجوز دسترسی -- تعامل با سرویس داده -- دریافت توکن Strava -- احراز هویت جاوااسکریپت -- خلاصه -- فصل ۹: بستهبندی و اجرای Runnerly -- ابزارهای بستهبندی -- چند تعاریف پایه -- بستهبندی -- فایل setup.py -- فایل requirements.txt -- فایل MANIFEST.in -- نسخهگذاری -- انتشار -- توزیع -- اجرای تمام ریزسرویسها -- مدیریت پردازشها -- خلاصه -- فصل ۱۰: سرویسهای کانتینری -- داکر چیست؟ -- آشنایی مقدماتی با داکر -- اجرای Flask در داکر، پشته کامل - OpenResty، Circus و Flask -- اپنرستی (OpenResty) -- سیرکوس (Circus) -- استقرارهای مبتنی بر داکر -- Docker Compose -- مقدمهای بر خوشهبندی و پروویژنینگ -- خلاصه -- فصل ۱۱: استقرار روی AWS -- نمای کلی AWS -- مسیریابی - Route53، ELB و AutoScaling -- اجرا - EC2 و Lambda -- ذخیرهسازی - EBS، S3، RDS، ElasticCache و CloudFront -- پیامرسانی - SES، SQS و SNS -- سرویس ایمیل ساده (SES) -- سرویس صف ساده (SQS) -- سرویس اطلاعرسانی ساده (SNS) -- پروویژنینگ و استقرار - CloudFormation و ECS -- استقرار روی AWS - مبانی -- راهاندازی حساب AWS -- استقرار روی EC2 با CoreOS -- استقرار با ECS -- Route53 -- خلاصه -- فصل ۱۲: گامهای بعدی -- تکرارکنندهها و مولدها (Iterators & Generators) -- کوروتینها (Coroutines) -- کتابخانه asyncio -- فریمورک aiohttp -- Sanic -- ناهمگام در برابر همگام -- خلاصه -- نمایه اطلاعات بیشتر... چکیده: جلد -- حق نشر -- امتیازات -- درباره نویسنده -- درباره ارزیاب -- www.PacktPub.com -- بازخورد مشتریان -- فهرست مطالب -- مقدمه -- مقدمه کتاب -- فصل ۱: درک ریزسرویسها -- ریشههای معماری سرویسگرا -- رویکرد یکپارچه (مونولیتیک) -- رویکرد ریزسرویس -- مزایای ریزسرویس -- جداسازی وظایف -- پروژههای کوچکتر -- مقیاسپذیری و استقرار -- چالشها و خطاهای رایج ریزسرویسها -- تقسیم غیرمنطقی -- تعاملات شبکه بیشتر -- ذخیره و اشتراکگذاری دادهها -- مسائل سازگاری -- تست کردن -- پیادهسازی ریزسرویسها با پایتون -- استاندارد WSGI -- کتابخانههای Greenlet و Gevent -- توییستد و تورنادو -- asyncio -- عملکرد زبان -- خلاصه -- فصل ۲: آشنایی با Flask -- کدام پایتون؟ -- Flask چگونه درخواستها را مدیریت میکند -- مسیریابی -- متغیرها و مبدلها -- تابع url_for -- درخواست -- پاسخ -- امکانات داخلی Flask -- شیء session -- متغیرهای سراسری -- سیگنالها -- افزونهها و میانافزارها -- الگوها (Templates) -- پیکربندی -- بلوپرینتها -- مدیریت خطا و عیبیابی -- کنترلکننده خطای سفارشی -- حالت عیبیابی (Debug) -- اسکلت یک ریزسرویس -- خلاصه -- فصل ۳: کدنویسی، تست و مستندسازی - چرخه سازنده -- انواع مختلف تست -- تستهای واحد -- تستهای عملکردی -- تستهای یکپارچهسازی -- تستهای بار -- تستهای سرتاسری -- استفاده از WebTest -- استفاده از pytest و Tox -- مستندسازی توسعهدهنده -- ادغام مداوم (CI) -- Travis-CI -- ReadTheDocs -- Coveralls -- خلاصه -- فصل ۴: طراحی Runnerly -- برنامه Runnerly -- داستانهای کاربر -- طراحی یکپارچه -- مدل -- نما و الگو -- پسزمینه و وظایف پسزمینه -- توکن Strava -- احراز هویت و مجوز دسترسی -- کنار هم گذاشتن طراحی یکپارچه -- تقسیم کردن معماری یکپارچه -- سرویس داده -- استفاده از Open API 2.0 -- تقسیم بیشتر -- خلاصه -- فصل ۵: تعامل با سایر سرویسها -- فراخوانیهای همگام با استفاده از Session در برنامه Flask -- استخر اتصال (Connection Pooling) -- هدرهای کش HTTP -- بهبود انتقال داده -- فشردهسازی GZIP -- بارگذاریهای دودویی (Binary Payloads) -- کنار هم گذاشتن موارد -- فراخوانیهای ناهمگام -- صفهای وظیفه -- صفهای موضوعی -- انتشار/اشتراک -- RPC روی AMQP -- کنار هم گذاشتن موارد -- تست کردن -- شبیهسازی فراخوانیهای همگام -- شبیهسازی فراخوانیهای ناهمگام -- شبیهسازی Celery -- شبیهسازی سایر فراخوانیهای ناهمگام -- خلاصه -- فصل ۶: مانیتورینگ سرویسها -- متمرکزسازی لاگها -- راهاندازی Graylog -- ارسال لاگها به Graylog -- افزودن فیلدهای اضافی -- معیارهای عملکرد -- معیارهای سیستم -- معیارهای کد -- معیارهای وبسایت و وبسرویس -- خلاصه -- فصل ۷: امنسازی سرویسها -- پروتکل OAuth2 -- احراز هویت مبتنی بر توکن -- استاندارد JWT -- کتابخانه PyJWT -- احراز هویت مبتنی بر گواهی X.509 -- ریزسرویس TokenDealer -- پیادهسازی POST/oauth/token -- استفاده از TokenDealer -- فایروال برنامه وب -- OpenResty - لوآ و Nginx -- محدودسازی نرخ و همگامی -- سایر ویژگیهای OpenResty -- امنسازی کد -- اعتبارسنجی دادههای ورودی -- محدود کردن دامنه برنامه -- استفاده از ابزار بررسی کد Bandit -- خلاصه -- فصل ۸: کنار هم گذاشتن تمام بخشها -- ساخت داشبورد با ReactJS -- سینتکس JSX -- کامپوننتهای React -- ریاکت و فلاسْک -- استفاده از Bower، npm و Babel -- اشتراک منابع متقابل (CORS) -- احراز هویت و مجوز دسترسی -- تعامل با سرویس داده -- دریافت توکن Strava -- احراز هویت جاوااسکریپت -- خلاصه -- فصل ۹: بستهبندی و اجرای Runnerly -- ابزارهای بستهبندی -- چند تعاریف پایه -- بستهبندی -- فایل setup.py -- فایل requirements.txt -- فایل MANIFEST.in -- نسخهگذاری -- انتشار -- توزیع -- اجرای تمام ریزسرویسها -- مدیریت پردازشها -- خلاصه -- فصل ۱۰: سرویسهای کانتینری -- داکر چیست؟ -- آشنایی مقدماتی با داکر -- اجرای Flask در داکر، پشته کامل - OpenResty، Circus و Flask -- اپنرستی (OpenResty) -- سیرکوس (Circus) -- استقرارهای مبتنی بر داکر -- Docker Compose -- مقدمهای بر خوشهبندی و پروویژنینگ -- خلاصه -- فصل ۱۱: استقرار روی AWS -- نمای کلی AWS -- مسیریابی - Route53، ELB و AutoScaling -- اجرا - EC2 و Lambda -- ذخیرهسازی - EBS، S3، RDS، ElasticCache و CloudFront -- پیامرسانی - SES، SQS و SNS -- سرویس ایمیل ساده (SES) -- سرویس صف ساده (SQS) -- سرویس اطلاعرسانی ساده (SNS) -- پروویژنینگ و استقرار - CloudFormation و ECS -- استقرار روی AWS - مبانی -- راهاندازی حساب AWS -- استقرار روی EC2 با CoreOS -- استقرار با ECS -- Route53 -- خلاصه -- فصل ۱۲: گامهای بعدی -- تکرارکنندهها و مولدها (Iterators & Generators) -- کوروتینها (Coroutines) -- کتابخانه asyncio -- فریمورک aiohttp -- Sanic -- ناهمگام در برابر همگام -- خلاصه -- نمایه
Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Introduction -- Chapter 1: Understanding Microservices -- Origins of Service-Oriented Architecture -- The monolithic approach -- The microservice approach -- Microservice benefits -- Separation of concerns -- Smaller projects -- Scaling and deployment -- Microservices pitfalls -- Illogical splitting -- More network interactions -- Data storing and sharing -- Compatibility issues -- Testing -- Implementing microservices with Python -- The WSGI standard -- Greenlet and Gevent -- Twisted and Tornado -- asyncio -- Language performances -- Summary -- Chapter 2: Discovering Flask -- Which Python? -- How Flask handles requests -- Routing -- Variables and converters -- The url_for function -- Request -- Response -- Flask built-in features -- The session object -- Globals -- Signals -- Extensions and middlewares -- Templates -- Configuration -- Blueprints -- Error handling and debugging -- Custom error handler -- The debug mode -- A microservice skeleton -- Summary -- Chapter 3: Coding, Testing, and Documenting - the Virtuous Cycle -- Different kinds of tests -- Unit tests -- Functional tests -- Integration tests -- Load tests -- End-to-end tests -- Using WebTest -- Using pytest and Tox -- Developer documentation -- Continuous Integration -- Travis-CI -- ReadTheDocs -- Coveralls -- Summary -- Chapter 4: Designing Runnerly -- The Runnerly application -- User stories -- Monolithic design -- Model -- View and Template -- Background tasks -- Strava token -- Authentication and authorization -- Putting together the monolithic design -- Splitting the monolith -- Data Service -- Using Open API 2.0 -- More splitting -- Summary -- Chapter 5: Interacting with Other Services -- Synchronous calls Using Session in a Flask app -- Connection pooling -- HTTP cache headers -- Improving data transfer -- GZIP compression -- Binary payloads -- Putting it together -- Asynchronous calls -- Task queues -- Topic queues -- Publish/subscribe -- RPC over AMQP -- Putting it together -- Testing -- Mocking synchronous calls -- Mocking asynchronous calls -- Mocking Celery -- Mocking other asynchronous calls -- Summary -- Chapter 6: Monitoring Your Services -- Centralizing logs -- Setting up Graylog -- Sending logs to Graylog -- Adding extra fields -- Performance metrics -- System metrics -- Code metrics -- Web server metrics -- Summary -- Chapter 7: Securing Your Services -- The OAuth2 protocol -- Token-based authentication -- The JWT standard -- PyJWT -- X.509 certificate-based authentication -- The TokenDealer microservice -- The POST/oauth/token implementation -- Using TokenDealer -- Web application firewall -- OpenResty - Lua and nginx -- Rate and concurrency limiting -- Other OpenResty features -- Securing your code -- Asserting incoming data -- Limiting your application scope -- Using Bandit linter -- Summary -- Chapter 8: Bringing It All Together -- Building a ReactJS dashboard -- The JSX syntax -- React components -- ReactJS and Flask -- Using Bower, npm, and Babel -- Cross-origin resource sharing -- Authentication and authorization -- Interacting with Data Service -- Getting the Strava token -- JavaScript authentication -- Summary -- Chapter 9: Packaging and Running Runnerly -- The packaging toolchain -- A few definitions -- Packaging -- The setup.py file -- The requirements.txt file -- The MANIFEST.in file -- Versioning -- Releasing -- Distributing -- Running all microservices -- Process management -- Summary -- Chapter 10: Containerized Services -- What is Docker? -- Docker 101 -- Running Flask in Docker The full stack - OpenResty, Circus and Flask -- OpenResty -- Circus -- Docker-based deployments -- Docker Compose -- Introduction to Clustering and Provisioning -- Summary -- Chapter 11: Deploying on AWS -- AWS overview -- Routing - Route53, ELB, and AutoScaling -- Execution - EC2 and Lambda -- Storage - EBS, S3, RDS, ElasticCache, and CloudFront -- Messaging - SES, SQS, and SNS -- Simple Email Service (SES) -- Simple Queue Service (SQS) -- Simple Notification Service (SNS) -- Provisioning and deployment - CloudFormation and ECS -- Deploying on AWS - the basics -- Setting up your AWS account -- Deploying on EC2 with CoreOS -- Deploying with ECS -- Route53 -- Summary -- Chapter 12: What Next? -- Iterators and generators -- Coroutines -- The asyncio library -- The aiohttp framework -- Sanic -- Asynchronous versus synchronous -- Summary -- Index Read more...Abstract: Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Introduction -- Chapter 1: Understanding Microservices -- Origins of Service-Oriented Architecture -- The monolithic approach -- The microservice approach -- Microservice benefits -- Separation of concerns -- Smaller projects -- Scaling and deployment -- Microservices pitfalls -- Illogical splitting -- More network interactions -- Data storing and sharing -- Compatibility issues -- Testing -- Implementing microservices with Python -- The WSGI standard -- Greenlet and Gevent -- Twisted and Tornado -- asyncio -- Language performances -- Summary -- Chapter 2: Discovering Flask -- Which Python? -- How Flask handles requests -- Routing -- Variables and converters -- The url_for function -- Request -- Response -- Flask built-in features -- The session object -- Globals -- Signals -- Extensions and middlewares -- Templates -- Configuration -- Blueprints -- Error handling and debugging -- Custom error handler -- The debug mode -- A microservice skeleton -- Summary -- Chapter 3: Coding, Testing, and Documenting - the Virtuous Cycle -- Different kinds of tests -- Unit tests -- Functional tests -- Integration tests -- Load tests -- End-to-end tests -- Using WebTest -- Using pytest and Tox -- Developer documentation -- Continuous Integration -- Travis-CI -- ReadTheDocs -- Coveralls -- Summary -- Chapter 4: Designing Runnerly -- The Runnerly application -- User stories -- Monolithic design -- Model -- View and Template -- Background tasks -- Strava token -- Authentication and authorization -- Putting together the monolithic design -- Splitting the monolith -- Data Service -- Using Open API 2.0 -- More splitting -- Summary -- Chapter 5: Interacting with Other Services -- Synchronous calls Using Session in a Flask app -- Connection pooling -- HTTP cache headers -- Improving data transfer -- GZIP compression -- Binary payloads -- Putting it together -- Asynchronous calls -- Task queues -- Topic queues -- Publish/subscribe -- RPC over AMQP -- Putting it together -- Testing -- Mocking synchronous calls -- Mocking asynchronous calls -- Mocking Celery -- Mocking other asynchronous calls -- Summary -- Chapter 6: Monitoring Your Services -- Centralizing logs -- Setting up Graylog -- Sending logs to Graylog -- Adding extra fields -- Performance metrics -- System metrics -- Code metrics -- Web server metrics -- Summary -- Chapter 7: Securing Your Services -- The OAuth2 protocol -- Token-based authentication -- The JWT standard -- PyJWT -- X.509 certificate-based authentication -- The TokenDealer microservice -- The POST/oauth/token implementation -- Using TokenDealer -- Web application firewall -- OpenResty - Lua and nginx -- Rate and concurrency limiting -- Other OpenResty features -- Securing your code -- Asserting incoming data -- Limiting your application scope -- Using Bandit linter -- Summary -- Chapter 8: Bringing It All Together -- Building a ReactJS dashboard -- The JSX syntax -- React components -- ReactJS and Flask -- Using Bower, npm, and Babel -- Cross-origin resource sharing -- Authentication and authorization -- Interacting with Data Service -- Getting the Strava token -- JavaScript authentication -- Summary -- Chapter 9: Packaging and Running Runnerly -- The packaging toolchain -- A few definitions -- Packaging -- The setup.py file -- The requirements.txt file -- The MANIFEST.in file -- Versioning -- Releasing -- Distributing -- Running all microservices -- Process management -- Summary -- Chapter 10: Containerized Services -- What is Docker? -- Docker 101 -- Running Flask in Docker The full stack - OpenResty, Circus and Flask -- OpenResty -- Circus -- Docker-based deployments -- Docker Compose -- Introduction to Clustering and Provisioning -- Summary -- Chapter 11: Deploying on AWS -- AWS overview -- Routing - Route53, ELB, and AutoScaling -- Execution - EC2 and Lambda -- Storage - EBS, S3, RDS, ElasticCache, and CloudFront -- Messaging - SES, SQS, and SNS -- Simple Email Service (SES) -- Simple Queue Service (SQS) -- Simple Notification Service (SNS) -- Provisioning and deployment - CloudFormation and ECS -- Deploying on AWS - the basics -- Setting up your AWS account -- Deploying on EC2 with CoreOS -- Deploying with ECS -- Route53 -- Summary -- Chapter 12: What Next? -- Iterators and generators -- Coroutines -- The asyncio library -- The aiohttp framework -- Sanic -- Asynchronous versus synchronous -- Summary -- Index