舉報

會員
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
推薦閱讀
- Web程序設計及應用
- GeoServer Cookbook
- 潮流:UI設計必修課
- Developing Mobile Web ArcGIS Applications
- UML+OOPC嵌入式C語言開發精講
- Mastering Predictive Analytics with Python
- ASP.NET程序設計教程
- 從Excel到Python:用Python輕松處理Excel數據(第2版)
- UVM實戰
- Solr Cookbook(Third Edition)
- Python機器學習算法與應用
- SQL Server 2008 R2數據庫技術及應用(第3版)
- 一步一步跟我學Scratch3.0案例
- INSTANT Apache ServiceMix How-to
- JavaScript編程精解(原書第2版)
- Splunk Essentials
- Java面向對象程序設計教程
- R語言:邁向大數據之路
- 趣味掌控板編程
- 軟件自動化測試實戰解析:基于Python3編程語言
- Mastering VMware Horizon 6
- 跟著迪哥學Python數據分析與機器學習實戰
- 零基礎輕松學Java
- Machine Learning for the Web
- Python語言基礎
- Learning pandas(Second Edition)
- 速學Django:Web開發從入門到進階
- Node.js+Express+Vue.js項目開發實戰
- 自己動手寫網絡爬蟲(修訂版)
- Cocos2d-x學習筆記:完全掌握JS API與游戲項目開發 (未來書庫,觸控未來官方教材)