Symfony

Microservices āļ”āđ‰āļ§āļĒ Symfony

API Gateway, service discovery, distributed transactions, event-driven architecture, resilience patterns

22 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Senior
1

API Gateway āđƒāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ microservices āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

API Gateway āļ„āļ·āļ­āļˆāļļāļ”āđ€āļ‚āđ‰āļēāđƒāļŠāđ‰āļ‡āļēāļ™āđ€āļžāļĩāļĒāļ‡āļˆāļļāļ”āđ€āļ”āļĩāļĒāļ§āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļģāļ‚āļ­āļˆāļēāļāđ„āļ„āļĨāđ€āļ­āļ™āļ•āđŒāđ„āļ›āļĒāļąāļ‡ microservices āļĄāļąāļ™āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ reverse proxy āļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ„āļģāļ‚āļ­āđ„āļ›āļĒāļąāļ‡āļšāļĢāļīāļāļēāļĢāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄ āļˆāļąāļ”āļāļēāļĢāļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™, rate limiting, āļāļēāļĢāđāļ„āļŠ āđāļĨāļ°āļāļēāļĢāļĢāļ§āļĄāļœāļĨāļĨāļąāļžāļ˜āđŒ āđƒāļ™āļĢāļ°āļšāļšāļ™āļīāđ€āļ§āļĻ Symfony āđ‚āļ‹āļĨāļđāļŠāļąāļ™āļ­āļĒāđˆāļēāļ‡ Kong, Traefik āļŦāļĢāļ·āļ­āļāļēāļĢāļžāļąāļ’āļ™āļēāđāļšāļšāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āļ”āđ‰āļ§āļĒ Symfony āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™ Gateway āđ„āļ”āđ‰

2

pattern āđƒāļ”āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļˆāļąāļ”āļāļēāļĢ distributed transactions āļ‚āđ‰āļēāļĄ microservices āļŦāļĨāļēāļĒāļ•āļąāļ§āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰ global locking?

āļ„āļģāļ•āļ­āļš

pattern Saga āļˆāļąāļ”āļāļēāļĢ distributed transactions āđ‚āļ”āļĒāđāļšāđˆāļ‡āļĄāļąāļ™āļ­āļ­āļāđ€āļ›āđ‡āļ™āļĨāļģāļ”āļąāļšāļ‚āļ­āļ‡āļ—āļĢāļēāļ™āđāļ‹āļāļŠāļąāļ™āđƒāļ™āļĢāļ°āļ”āļąāļšāļ—āđ‰āļ­āļ‡āļ–āļīāđˆāļ™ āđāļ•āđˆāļĨāļ°āļšāļĢāļīāļāļēāļĢāļˆāļ°āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ—āļĢāļēāļ™āđāļ‹āļāļŠāļąāļ™āļ—āđ‰āļ­āļ‡āļ–āļīāđˆāļ™āļ‚āļ­āļ‡āļ•āļ™āđāļĨāļ°āđ€āļœāļĒāđāļžāļĢāđˆ event āđ€āļžāļ·āđˆāļ­āļāļĢāļ°āļ•āļļāđ‰āļ™āļ—āļĢāļēāļ™āđāļ‹āļāļŠāļąāļ™āļ–āļąāļ”āđ„āļ› āđ€āļĄāļ·āđˆāļ­āđ€āļāļīāļ”āļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§ āļˆāļ°āļĄāļĩāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ compensating transactions āđ€āļžāļ·āđˆāļ­āļĒāđ‰āļ­āļ™āļāļĨāļąāļšāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ pattern āļ™āļĩāđ‰āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļāļēāļĢāļĨāđ‡āļ­āļāđāļšāļšāļāļĢāļ°āļˆāļēāļĒāđāļĨāļ°āđ€āļžāļīāđˆāļĄāļ„āļ§āļēāļĄāļžāļĢāđ‰āļ­āļĄāđƒāļŠāđ‰āļ‡āļēāļ™

3

Symfony Messenger āļŠāđˆāļ§āļĒāļ­āļģāļ™āļ§āļĒāļ„āļ§āļēāļĄāļŠāļ°āļ”āļ§āļāđƒāļ™āļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢāđāļšāļšāļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠāļĢāļ°āļŦāļ§āđˆāļēāļ‡ microservices āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

Symfony Messenger āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāđˆāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļ›āļĒāļąāļ‡ transport āļ āļēāļĒāļ™āļ­āļāļ­āļĒāđˆāļēāļ‡ RabbitMQ, Amazon SQS āļŦāļĢāļ·āļ­ Redis āđ„āļ”āđ‰ āđāļ•āđˆāļĨāļ° microservice āļŠāļēāļĄāļēāļĢāļ–āđ€āļœāļĒāđāļžāļĢāđˆāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ„āļ›āļĒāļąāļ‡ bus āđāļĨāļ°āļšāļĢāļīāļāļēāļĢāļ­āļ·āđˆāļ™āļˆāļ°āļšāļĢāļīāđ‚āļ āļ„āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™āđāļšāļšāļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠ āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļ°āļ–āļđāļ serialize (JSON, Protobuf) āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļ‚āđ‰āļēāļĄāļ‚āļ­āļšāđ€āļ‚āļ•āļ‚āļ­āļ‡āļšāļĢāļīāļāļēāļĢāđ„āļ”āđ‰ āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ” loose coupling

4

pattern Circuit Breaker āļ„āļ·āļ­āļ­āļ°āđ„āļĢ āđāļĨāļ°āļˆāļ°āļ™āļģāđ„āļ›āđƒāļŠāđ‰āļāļąāļš Symfony āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

5

āļ‚āđ‰āļ­āđ„āļ”āđ‰āđ€āļ›āļĢāļĩāļĒāļšāļŦāļĨāļąāļāļ‚āļ­āļ‡āļĢāļđāļ›āđāļšāļš Database per Service āđƒāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ microservices āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

+19 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Symfony āļ­āļ·āđˆāļ™āđ†

PHP āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ (8.1+)

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Symfony

Junior
25 āļ„āļģāļ–āļēāļĄ

Routing & Controllers

Junior
20 āļ„āļģāļ–āļēāļĄ

Twig & Templates

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Doctrine ORM

Junior
25 āļ„āļģāļ–āļēāļĄ

āļŸāļ­āļĢāđŒāļĄ Symfony

Junior
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ

Junior
18 āļ„āļģāļ–āļēāļĄ

Dependency Injection & Services

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

Security & Authentication

Mid-Level
26 āļ„āļģāļ–āļēāļĄ

Doctrine āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

API Platform

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Serializer Component

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Events & Event Subscribers

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Console & Commands

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Messenger Component

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

HTTP Client

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Cache & āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Workflow Component

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Testing Symfony

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Mailer Component

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđāļ›āļĨāđāļĨāļ° i18n

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

EasyAdmin Bundle

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Symfony

Senior
24 āļ„āļģāļ–āļēāļĄ

āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Senior
22 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Senior
22 āļ„āļģāļ–āļēāļĄ

Custom Bundles

Senior
20 āļ„āļģāļ–āļēāļĄ

Real-time & WebSockets

Senior
18 āļ„āļģāļ–āļēāļĄ

Deployment & DevOps

Senior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Symfony āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ