舉報

會員
Python Microservices Development
ThisbookisfordeveloperswhohavebasicknowledgeofPython,thecommandline,andHTTP-basedapplicationprinciples,andthosewhowanttolearnhowtobuild,test,scale,andmanagePython3microservices.NopriorexperienceofwritingmicroservicesinPythonisassumed.
最新章節
- Asynchronous versus synchronous
- Sanic
- The aiohttp framework
- The asyncio library
- Coroutines
- Iterators and generators
品牌:中圖公司
上架時間:2021-07-02 18:17:25
出版社:Packt Publishing
本書數字版權由中圖公司提供,并由其授權上海閱文信息技術有限公司制作發行
- Asynchronous versus synchronous 更新時間:2021-07-02 18:54:49
- Sanic
- The aiohttp framework
- The asyncio library
- Coroutines
- Iterators and generators
- What Next?
- Summary
- Route53
- Deploying with ECS
- Deploying on EC2 with CoreOS
- Setting up your AWS account
- Deploying on AWS - the basics
- Provisioning and deployment - CloudFormation and ECS
- Simple Notification Service (SNS)
- Simple Queue Service (SQS)
- Simple Email Service (SES)
- Messaging - SES SQS and SNS
- Storage - EBS S3 RDS ElasticCache and CloudFront
- Execution - EC2 and Lambda
- Routing - Route53 ELB and AutoScaling
- AWS overview
- Deploying on AWS
- Summary
- Introduction to Clustering and Provisioning
- Docker Compose
- Docker-based deployments
- Circus
- OpenResty
- The full stack - OpenResty Circus and Flask
- Running Flask in Docker
- Docker 101
- What is Docker?
- Containerized Services
- Summary
- Process management
- Running all microservices
- Distributing
- Releasing
- Versioning
- The MANIFEST.in file
- The requirements.txt file
- The setup.py file
- Packaging
- A few definitions
- The packaging toolchain
- Packaging and Running Runnerly
- JavaScript authentication
- Getting the Strava token
- Interacting with Data Service
- Authentication and authorization
- Cross-origin resource sharing
- Using Bower npm and Babel
- ReactJS and Flask
- React components
- The JSX syntax
- Building a ReactJS dashboard
- Bringing It All Together
- Using Bandit linter
- Limiting your application scope
- Asserting incoming data
- Securing your code
- Other OpenResty features
- Rate and concurrency limiting
- OpenResty - Lua and nginx
- Web application firewall
- Using TokenDealer
- The POST/oauth/token implementation
- The TokenDealer microservice
- X.509 certificate-based authentication
- PyJWT
- The JWT standard
- Token-based authentication
- The OAuth2 protocol
- Securing Your Services
- Summary
- Web server metrics
- Code metrics
- System metrics
- Performance metrics
- Adding extra fields
- Sending logs to Graylog
- Setting up Graylog
- Centralizing logs
- Monitoring Your Services
- Summary
- Mocking other asynchronous calls
- Mocking Celery
- Mocking asynchronous calls
- Mocking synchronous calls
- Testing
- Putting it together
- RPC over AMQP
- Publish/subscribe
- Topic queues
- Task queues
- Asynchronous calls
- Putting it together
- Binary payloads
- GZIP compression
- Improving data transfer
- HTTP cache headers
- Connection pooling
- Using Session in a Flask app
- Synchronous calls
- Interacting with Other Services
- Summary
- More splitting
- Using Open API 2.0
- Data Service
- Splitting the monolith
- Putting together the monolithic design
- Authentication and authorization
- Strava token
- Background tasks
- View and Template
- Model
- Monolithic design
- User stories
- The Runnerly application
- Designing Runnerly
- Summary
- Coveralls
- ReadTheDocs
- Travis-CI
- Continuous Integration
- Developer documentation
- Using pytest and Tox
- Using WebTest
- End-to-end tests
- Load tests
- Integration tests
- Functional tests
- Unit tests
- Different kinds of tests
- Coding Testing and Documenting - the Virtuous Cycle
- Summary
- A microservice skeleton
- The debug mode
- Custom error handler
- Error handling and debugging
- Blueprints
- Configuration
- Templates
- Extensions and middlewares
- Signals
- Globals
- The session object
- Flask built-in features
- Response
- Request
- The url_for function
- Variables and converters
- Routing
- How Flask handles requests
- Which Python?
- Discovering Flask
- Summary
- Language performances
- asyncio
- Twisted and Tornado
- Greenlet and Gevent
- The WSGI standard
- Implementing microservices with Python
- Testing
- Compatibility issues
- Data storing and sharing
- More network interactions
- Illogical splitting
- Microservices pitfalls
- Scaling and deployment
- Smaller projects
- Separation of concerns
- Microservice benefits
- The microservice approach
- The monolithic approach
- Origins of Service-Oriented Architecture
- Understanding Microservices
- Questions
- Piracy
- Errata
- Downloading the example code
- Customer support
- Reader feedback
- Conventions
- Who this book is for
- What you need for this book
- What this book covers
- Preface
- Customer Feedback
- Why subscribe?
- www.PacktPub.com
- About the Reviewer
- About the Author
- Credits
- Title Page
- coverpage
- 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