• ОЀОРМИВЬ ΠŸΠžΠ”ΠŸΠ˜Π‘ΠšΠ£ ΠžΠ’Π—Π«Π’Π«

πŸ‘¨β€πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [Thinknetica PRO] АртСм Нистратов - Π’ΠΎΡ€ΠΊΡˆΠΎΠΏ Β«Event-Driven ArchitectureΒ» (2023)

Gatsby

ВЕЧНЫЙ

Gatsby

ВЕЧНЫЙ
РСгистрация
10 ΠžΠΊΡ‚ 2018
БообщСния
36,420
Π›Π°ΠΉΠΊΠΈ
146,697
Автор: Thinknetica PRO - АртСм Нистратов
НазваниС: Π’ΠΎΡ€ΠΊΡˆΠΎΠΏ Β«Event-Driven ArchitectureΒ» (2023)

1682183397050.png

Event-driven Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° становится всС Π±ΠΎΠ»Π΅Π΅ популярной срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ‰ΡƒΡ‚ Π½ΠΎΠ²Ρ‹Π΅ способы создания Π²Ρ‹ΡΠΎΠΊΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…, устойчивых ΠΈ Π³ΠΈΠ±ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ свой арсСнал инструмСнтов для построСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Rails, Ρ‚ΠΎ наш Π²ΠΎΡ€ΠΊΡˆΠΎΠΏ ΠΏΠΎ event-driven Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ для вас!

На Π²ΠΎΡ€ΠΊΡˆΠΎΠΏΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для построСния эффСктивных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ rails-event-store ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ для создания асинхронных, распрСдСлСнных систСм.

Π’Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ событийно-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прилоТСния.

ПослС прохоТдСния этого Π²ΠΎΡ€ΠΊΡˆΠΎΠΏΠ° Π²Ρ‹ смоТСтС ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Rails ΠΈ смоТСтС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ прилоТСния.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
Π”Π΅Π½ΡŒ 1.
АрхитСктура Π² Rails-прилоТСниях
  • ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎ само понятиС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π² прилоТСниях.
  • ΠžΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΄ΠΎ внСдрСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ систСмы.
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° стандартныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ построСния Rails-прилоТСния ΠΈ разбСрСмся, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасного, ΠΌΠΎΠΆΠ΅Ρ‚ принСсти событийная модСль.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹:
ΠŸΠΎΠΉΠΌΠ΅Ρ‚Π΅ нСдостатки ΠΈ прСимущСства ΠΊΠ°ΠΊ стандартного rails way ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ event-driven.

Π”Π΅Π½ΡŒ 2. Event Sourcing
  • Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Rails ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ rails-event-store.
  • РазбСрСмся ΠΊΠΎΠ³Π΄Π° ΠΈ Π·Π°Ρ‡Π΅ΠΌ это стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅.\
  • Рассмотрим event-driven ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° стандартных Rails/Ruby ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π°Ρ….
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹:
ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ rails-event-store Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния.

Π”Π΅Π½ΡŒ 3. CQRS ΠΈ Apache Kafka
  • Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΠΉΠ½ΡƒΡŽ модСль ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ³Π»ΠΎΠΌ: Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° прСимущСства Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² сравнСнии с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° чистом ruby.
  • Научимся Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Apache Kafka.
  • Π‘Ρ€Π°Π²Π½ΠΈΠΌ Apache Kafka ΠΈ RabbitMQ.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹:
ΠžΡΠ²ΠΎΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ шин Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ прилоТСния.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Π—Π° врСмя Π²ΠΎΡ€ΠΊΡˆΠΊΠΎΠΏΠ° Π²Ρ‹:
  • Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚Π΅ свой взгляд Π½Π° понятиС "Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°"
  • Π£Π·Π½Π°Π΅Ρ‚Π΅ большС ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ зависимостСй, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ Π½ΡŽΠ°Π½ΡΠ°Ρ… использования ΠΈ настроСк сторонних Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (RabbitMQ, Apache Kafka)
  • ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Event Sourcing ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² подходящих ситуациях
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:
Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ содСрТимоС доступно для зарСгистрированных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ!

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:
 
  • МнС нравится
Π Π΅Π°ΠΊΡ†ΠΈΠΈ: pipi
Π’ΠΠ–ΠΠž:

НС оставляйтС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ с ΠΏΡ€ΠΎΡΡŒΠ±Π°ΠΌΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ / Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ссылку Π½Π° скачиваниС ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Β«404Β», «ошибка».

Для восстановлСния ссылки Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π–Π°Π»ΠΎΠ±Π° / Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылку» Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ постС Ρ‚Π΅ΠΌΡ‹.

ΠŸΡ€ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ Π’Π°Ρˆ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½, Π° Π’Π°Ρˆ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° сутки. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° нашСго сайта.
Автор ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ Π€ΠΎΡ€ΡƒΠΌ ΠžΡ‚Π²Π΅Ρ‚ΠΎΠ² Π”Π°Ρ‚Π°
Gatsby πŸ‘¨β€πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [Thinknetica] АлСксандр Борисов ― Π”Π΅ΠΏΠ»ΠΎΠΉ Ruby on Rails ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Docker Swarm ΠΈ MRSK (2023) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Gatsby πŸ‘¨β€πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [Thinknetica] Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π’ΠΈΡ‚ΠΎΠ² - CоврСмСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° GO (2023) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Gatsby πŸ‘¨β€πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [ΠšΠΈΡ€ΠΈΠ»Π» Π₯Ρ€Π°ΠΏΠΊΠΎΠ²] [Thinknetica] ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π” Π² PostgreSQL: Нормализация, Π˜Π½Π΄Π΅ΠΊΡΡ‹, Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ (2023) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Gatsby πŸ‘¨β€πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [Thinknetica] Π ΠΎΠΌΠ°Π½ Π‘ΠΏΠΈΡ€ΠΈΠ΄ΠΎΠ½ΠΎΠ² - Асинхронный Python: ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, asyncio (2023) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Π‘Π²Π΅Ρ€Ρ…Ρƒ Π‘Π½ΠΈΠ·Ρƒ