در کتاب Designing Microservices with Django (طراحی میکروسرویسها با جنگو)، با استفاده از چارچوب جنگو مبتنی بر پایتون، میکرو سرویسها را بررسی کرده و مزایا و معایب آنها را مرور میکنید. این کتاب به بررسی میکرو سرویس ها، نحوه ارتباط آنها با یکدیگر و چگونگی ایجاد آنها با استفاده از زبان برنامه نویسی پایتون و چارچوب وب Django میپردازد.
شما ابتدا با درک تفاوتهای اصلی بین معماری میکرو سرویسها و معماری یکپارچه شروع خواهید کرد. در ادامه، این کتاب به چگونگی ساخت میکرو سرویسها و مدلهای رایجی که در صنعت ما ظهور پیدا کرده اند میپردازد. شما همچنین نگاهی گسترده به الگوهای ارتباطی و مالکیت خواهید داشت و روش هایی را برای سرعت بخشیدن به تکامل معماری خود با نوشتن کد کمتر اما توزیع شدهتر و با استفاده از زبان برنامه نویسی پایتون و چارچوب وب جنگو بررسی خواهید کرد. در پایان این کتاب، شما درک کاملی از معماریهای میکرو سرویسها خواهید داشت. با استفاده از یک مجموعه ابزار جامع و قوی، میتوانید کار خود را به سمت سیستم هایی که مقیاس پذیرتر، تاب آورتر و قابل نگهداری هستند آغاز کنید.
مطالبی که در کتاب Designing Microservices with Django: An Overview of Tools and Practices (طراحی میکرو سرویسها با جنگو: مروری بر ابزارها و شیوه ها) یاد خواهید گرفت:
- درک مزایا و معایب استفاده از میکرو سرویس ها
- طراحی سیستمها و معماری برای تاب آوری و مالکیت توزیع شده
- کار با ابزارهایی برای مقیاس بندی سیستم توزیع شده در ابعاد فنی و سازمانی
- بررسی موارد اساسی چارچوب وب جنگو
Table of Contents:
- Chapter 1: What are services?
- Service Lingo
- Software as a Service
- Service-oriented Architecture
- Monolithic Service
- Microservice
- Understanding the Monolith
- Understanding the Microservice
- Early Design Choices
- Summary
- Chapter 2: A Pinch of Django
- Introducing the Problem
- Getting Started
- Django Apps
- Models and the Power of ORMs
- What are ORMs?
- The Pizza
- Migrations
- Simple ORM Examples
- Communication with Views
- The Admin Panel
- Logging in, Logging Out and Signing up
- Signing up
- Login and Logout
- A Primer on Middlewares
- Templates
- Permissions
- Conclusion
- Chapter 3: Anatomy of a Microservice
- Backend Services
- A Note on Data Duplication
- Front-end Services
- Mixed Services
- Design Principles
- SOLID Building Blocks
- 12 factors
- Conclusion
- Chapter 4: Communication
- REST and the Synchronous World
- What is REST
- HTTP Verbs, the Way REST Talks
- Response Codes, What REST Really Means When it’s Talking
- The Django REST Framework
- Asynchronous Communication
- Concept of the Queue
- Example Solution - RabbitMQ
- Asynchronous Best Practices
- Conclusion
- Chapter 5: From Monolith to Microservice
- Before you Start
- Human Costs
- Infrastructure Costs
- I Made the Call, What’s Next?
- Data Preparation
- Domain Sharding
- Database Duplication
- Testing and Coverage
- Moving the Service
- Remote Models
- The Code Migration
- Release
- Cleanup
- Conclusion
- Chapter 6: Scaling Development
- Using Python Packages
- What to Reuse
- Creating a New Package
- Testing Packages
- Service Repositories
- Designing a Service Repository
- Looking for Data
- Other Useful Tields
- Scaffolding
- Scaffolding the Codebase
- Scaffolding the Infrastructure
- Conclusion
- Index