舉報

會員
Python Microservices Development
ThisbookisfordeveloperswhohavebasicknowledgeofPython,thecommandline,andHTTP-basedapplicationprinciples,andthosewhowanttolearnhowtobuild,test,scale,andmanagePython3microservices.NopriorexperienceofwritingmicroservicesinPythonisassumed.
目錄(197章)
倒序
- coverpage
- Title Page
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- What Next?
- Iterators and generators
- Coroutines
- The asyncio library
- The aiohttp framework
- Sanic
- Asynchronous versus synchronous 更新時間:2021-07-02 18:54:49
推薦閱讀
- Oracle WebLogic Server 12c:First Look
- 案例式C語言程序設計
- JavaScript高效圖形編程
- 單片機C語言程序設計實訓100例:基于STC8051+Proteus仿真與實戰
- Java Web開發之道
- Learning Elixir
- Silverlight魔幻銀燈
- QTP自動化測試進階
- SQL Server 2012數據庫管理與開發項目教程
- Learning FuelPHP for Effective PHP Development
- Instant PHP Web Scraping
- INSTANT Adobe Edge Inspect Starter
- JavaScript程序設計(第2版)
- OpenCV 3計算機視覺:Python語言實現(原書第2版)
- Arduino機器人系統設計及開發
- SQL Server 2012 數據庫應用教程(第3版)
- Functional Python Programming
- 交互設計師成長手冊:從零開始學交互
- 一覽眾山小:ASP.NET Web開發修行實錄
- Computer Vision with Python 3
- SQL Server 2008數據庫應用技術(第2版)
- CorelDRAW X6中文版應用教程(第二版)
- Python服務端測試開發實戰
- Multithreading with C# Cookbook(Second Edition)
- Java實用教程
- MariaDB Cookbook
- Python程序設計
- 計算機網絡基礎教程
- 軟件困局:為什么聰明的程序員會寫出糟糕的代碼
- 數據結構(C++語言版)