apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

Если Π²Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с HTTP-сСрвСром Apache ΠΈΠ»ΠΈ Π² запускС Π²Π΅Π±-сайтов Π²ΠΎΠΎΠ±Ρ‰Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ вопросы Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ вас с основами.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, сСрвСры ΠΈ URL-адрСса

ΠšΠ»ΠΈΠ΅Π½Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ сСрвСру (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΡˆΠ΅ΠΌΡƒ HTTP-сСрвСру Apache), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΈ отправляСт запрос Π½Π° рСсурс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ URL-ΠΏΡƒΡ‚ΡŒ.

URL-ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ мноТСство Π²Π΅Ρ‰Π΅ΠΉ Π½Π° сСрвСрС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» (ΠΊΠ°ΠΊ getting-started.html ), ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (ΠΊΠ°ΠΊ server-status) ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΊΠ°ΠΊ index.php ). ΠœΡ‹ рассмотрим это ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ Π½ΠΈΠΆΠ΅, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²Π΅Π±-сайта.

Π‘Π΅Ρ€Π²Π΅Ρ€ отправляСт ΠΎΡ‚Π²Π΅Ρ‚, содСрТащий ΠΊΠΎΠ΄ состояния ΠΈ, ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Ρ‚Π΅Π»ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°. Код состояния ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π±Ρ‹Π» Π»ΠΈ запрос ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½, Π° Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ какая ошибка ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π°. Π­Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ… ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π’ΠΈΠΊΠΈ HTTP-сСрвСра Apache.

Π”Π΅Ρ‚Π°Π»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ условия возникновСния ошибки Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ². Π­Ρ‚ΠΎ описываСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π½ΠΈΠΆΠ΅, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π€Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΈ устранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

ИмСна хостов ΠΈ DNS

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ с сСрвСром, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ сначала Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ имя сСрвСра Π² IP-адрСс β€” мСсто Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Π³Π΄Π΅ находится сСрвСр. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш Π²Π΅Π±-сСрвСр Π±Ρ‹Π» доступСн, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ имя сСрвСра Π±Ρ‹Π»ΠΎ Π² DNS.

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ сСтСвому администратору ΠΈΠ»ΠΈ поставщику услуг Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° (ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρƒ). Они ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это для вас.

НСсколько хостов ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ IP-адрСс, Π° ΠΎΠ΄ΠΈΠ½ физичСский сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ IP-адрСса. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ физичСском сСрвСрС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ сайта с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ особСнности: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ хосты.

Если Π²Ρ‹ тСстируСтС сСрвСр, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° хостов Π² Ρ„Π°ΠΉΠ» hosts для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ имя Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π»ΠΎΡΡŒ локально. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запросов ΠΊ www.example.com Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, для тСстирования. Π­Ρ‚Π° запись Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ„Π°ΠΉΠ»Π΅ hosts ΠΈ большС ΠΎ DNS.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹

Π‘Π΅Ρ€Π²Π΅Ρ€ настраиваСтся ΠΏΡƒΡ‚Ρ‘ΠΌ размСщСния Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² этих Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° β€” это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ нСсколькими Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π΅Ρ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²Π΅Π±-сайта

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ сайта ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС раздСляСтся Π½Π° статичСский ΠΈ динамичСский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.

БтатичСский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ β€” это, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HTML-Ρ„Π°ΠΉΠ»Ρ‹, Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, CSS-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ просто Π»Π΅ΠΆΠ°Ρ‚ Π½Π° дискС. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° DocumentRoot ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π³Π΄Π΅ Π² вашСй Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ эти Ρ„Π°ΠΉΠ»Ρ‹. Π­Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° устанавливаСтся глобально ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хоста. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π² своём Ρ„Π°ΠΉΠ»Π΅(Π°Ρ…) ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ эта Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° вашСм сСрвСрС.

ДинамичСский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ β€” это всё Ρ‡Ρ‚ΠΎ гСнСрируСтся Π²ΠΎ врСмя запроса ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ запроса ΠΊ запросу. БущСствуСт мноТСство способов создания динамичСского ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ доступны для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ содСрТимого. ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ CGI ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π½Π° сайтС.

Для написания ΠΊΠΎΠ΄Π° с Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сторонниС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ mod_php. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ сторонних ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках программирования, ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ доступны для скачивания ΠΈ установки Π½Π° ваш HTTP-сСрвСр Apache. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сторонних ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ этой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Π³Π΄Π΅ Π²Ρ‹ смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° свои вопросы.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π€Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² ΠΈ устранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

Для вас, ΠΊΠ°ΠΊ администратора HTTP-сСрвСра Apache, самыС Ρ†Π΅Π½Π½Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²Ρ‹ β€” это Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² (Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹), Π² частности, ΠΆΡƒΡ€Π½Π°Π» ошибок. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ любой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Π΅Π· ΠΆΡƒΡ€Π½Π°Π»Π° ошибок ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Π²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ автомобиля с Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Π³Π»Π°Π·Π°ΠΌΠΈ.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π°Ρ….

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π§Ρ‚ΠΎ дальшС?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с основами, ΠΏΠΎΡ€Π° Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС.

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π½ΠΎ Π΅ΡΡ‚ΡŒ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Comments

Copyright 2021 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Apache Kafka для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ²

Данная ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π» Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΈ с сСрвисом Apache Kafka. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΡƒΠ΅Ρ‚ Π½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π», Π½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ. Π― расскаТу ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Kafka Π½Π° Windows 10. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ создадим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Intellij IDEA ΠΈ Spring Boot.

Π—Π°Ρ‡Π΅ΠΌ?

Врудности Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… инструмСнтов часто связаны с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ сталкивался с ситуациями, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эти инструмСнты ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ. Π‘ Kafka всё обстоит Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅. ОпишСм ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ данная тСхнология Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Если Ρƒ вас монолитная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° прилоТСния, Ρ‚ΠΎ разумССтся, никакая Kafka Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π°. Всё мСняСтся с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° микросСрвисы. По сути, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ микросСрвис – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈ которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… микросСрвисов. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с сотрудниками Π² офисС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сидят Π·Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ столами ΠΈ нСзависимо ΠΎΡ‚ ΠΊΠΎΠ»Π»Π΅Π³ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ свою Π·Π°Π΄Π°Ρ‡Ρƒ. Π Π°Π±ΠΎΡ‚Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ распрСдСлённого ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π° нСмыслима Π±Π΅Π· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ†ΠΈΠΈ. Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ сообщСниями ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ИмСнно эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Apache Kafka для микросСрвисов.

Apache Kafka являСтся Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΠΌ сообщСний. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ микросСрвисы ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, посылая ΠΈ получая Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этих Ρ†Π΅Π»Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ POST – reqest, Π² Ρ‚Π΅Π»Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚? Π£ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ ряд ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… минусов. НапримСр, ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ (сСрвис, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ сообщСниС) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ response’а Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π° (сСрвиса, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅). Допустим, ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ отправляСт POST – запрос, ΠΈ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ. Π’ это врСмя ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ? Они Π±ΡƒΠ΄ΡƒΡ‚ потСряны. ΠšΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Ρƒ снова придётся ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запрос ΠΈ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Π·Π° это врСмя Π½Π΅ измСнились, ΠΈ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ всё Π΅Ρ‰Ρ‘ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ request.

Apache Kafka Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ сообщСниями ΠΌΠ΅ΠΆΠ΄Ρƒ микросСрвисами. НС лишним Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ бСспСрСбойный ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ – ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ для обСспСчСния устойчивой Ρ€Π°Π±ΠΎΡ‚Ρ‹ микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

Установка ΠΈ настройка ZooKeeper ΠΈ Apache Kafka Π½Π° Windows 10

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‚ΡŒ для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Apache Kafka Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… сСрвиса ZooKeeper. ZooKeeper β€” это распрСдСлСнный сСрвис конфигурирования ΠΈ синхронизации, ΠΈ это всё, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π½Ρ‘ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС. ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Kafka. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ZooKeeper, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСн ΠΈ настроСн JRE.

ИзвлСкаСм ΠΈΠ· скачСнного Π°Ρ€Ρ…ΠΈΠ²Π° ZooKeeper`Π° Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Π½Π° дискС.
Π’ ΠΏΠ°ΠΏΠΊΠ΅ zookeeper с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии, Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡƒ conf ΠΈ Π² Π½Π΅ΠΉ Ρ„Π°ΠΉΠ» β€œzoo_sample.cfg”.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ мСняСм Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π½Π° β€œzoo.cfg”. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»-копию ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π½Ρ‘ΠΌ строчку dataDir=/tmp/zookeeper. ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΉ строчкС ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ нашСй ΠΏΠ°ΠΏΠΊΠ΅ zookeeper-Ρ….Ρ….Ρ…. Π£ мСня это выглядит Ρ‚Π°ΠΊ: dataDir=C:\\ZooKeeper\\zookeeper-3.6.0
apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ срСды: ZOOKEEPER_HOME = C:\ ZooKeeper \zookeeper-3.4.9 ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ систСмной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Path Π΄ΠΎΠ±Π°Π²ΠΈΠΌ запись: ;%ZOOKEEPER_HOME%\bin;

ЗапускаСм ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ пишСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Если всё сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ZooKeeper стартанул Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ нСпосрСдствСнно ΠΊ установкС ΠΈ настройкС сСрвСра Apache Kafka. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ содСрТимоС Π°Ρ€Ρ…ΠΈΠ²Π°: kafka.apache.org/downloads

Π’ ΠΏΠ°ΠΏΠΊΠ΅ с Kafka Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡƒ config, Π² Π½Π΅ΠΉ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Ρ„Π°ΠΉΠ» server.properties ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Находим строку log.dirs= /tmp/kafka-logs ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π² Π½Π΅ΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΊΡƒΠ΄Π° Kafka Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈ: log.dirs=c:/kafka/kafka-logs.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’ этой ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» zookeeper.properties. Π‘Ρ‚Ρ€ΠΎΡ‡ΠΊΡƒ dataDir=/tmp/zookeeper мСняСм Π½Π° dataDir=c:/kafka/zookeeper-data, Π½Π΅ забывая ΠΏΡ€ΠΈ этом, послС ΠΈΠΌΠ΅Π½ΠΈ диска ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ своСй ΠΏΠ°ΠΏΠΊΠ΅ с Kafka. Если Π²Ρ‹ всё сдСлали ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ZooKeeper ΠΈ Kafka.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Для ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСприятной Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ GUI для управлСния Kafka Π½Π΅Ρ‚. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сСрвис рассчитан Π½Π° суровых Π½Ρ‘Ρ€Π΄ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с консолью. Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, для запуска ΠΊΠ°Ρ„ΠΊΠΈ Π½Π°ΠΌ потрСбуСтся командная строка.

Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ZooKeeper. Π’ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΊΠ°Ρ„ΠΊΠΎΠΉ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡƒ bin/windows, Π² Π½Π΅ΠΉ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Ρ„Π°ΠΉΠ» для запуска сСрвиса zookeeper-server-start.bat, ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ ΠΏΠΎ Π½Π΅ΠΌΡƒ. НичСго Π½Π΅ происходит? Π’Π°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ консоль ΠΈ пишСм:

ΠžΠΏΡΡ‚ΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°. Всё ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ zookeeper-server-start.bat для своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, прописанныС Π² Ρ„Π°ΠΉΠ»Π΅ zookeeper.properties, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Π»Π΅ΠΆΠΈΡ‚ Π² ΠΏΠ°ΠΏΠΊΠ΅ config. ПишСм Π² консоль:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚Π°Ρ€Ρ‚Π°Π½ΡƒΡ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π•Ρ‰Ρ‘ Ρ€Π°Π· ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ консоль Π² этой ΠΏΠ°ΠΏΠΊΠ΅ (ZooKeeper Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ!) ΠΈ запускаСм kafka:

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ старым ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ способом ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Ρ‚Π½ΠΈΠΊ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

Π‘Ρ‚Ρ€ΠΎΠΊΠ° timeout 10 Π½ΡƒΠΆΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΡƒΠ·Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ запуском zookeeper ΠΈ kafka. Если Π²Ρ‹ всё сдСлали ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π±Π°Ρ‚Π½ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡΡ Π΄Π²Π΅ консоли с Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ zookeeper ΠΈ kafka.Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ прямо ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€Π° сообщСний ΠΈ ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π° с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Но, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ для тСстирования сСрвиса. Π“ΠΎΡ€Π°Π·Π΄ΠΎ большС нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с kafka ΠΈΠ· IDEA.

Π Π°Π±ΠΎΡ‚Π° с kafka ΠΈΠ· IDEA

ΠœΡ‹ напишСм максимально простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ΠΎΠΌ сообщСния, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ спринг-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π£Π΄ΠΎΠ±Π½Π΅Π΅ всСго Π΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ спринг-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»Π°ΠΉΠ·Π΅Ρ€Π°. ДобавляСм зависимости org.springframework.kafka ΠΈ spring-boot-starter-web

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ„Π°ΠΉΠ» pom.xml Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, наш ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ Π³ΠΎΡ‚ΠΎΠ². Всё Ρ‡Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ – это Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ send(). Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² нашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с 3 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ β€” send(String topic, K key, V data). Π’Π°ΠΊ ΠΊΠ°ΠΊ KafkaTemplate Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ String-ΠΎΠΌ, Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ send Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ строкой. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ указываСтся Ρ‚ΠΎΠΏΠΈΠΊ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π΅ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ сообщСния, ΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ. Если Ρ‚ΠΎΠΏΠΈΠΊ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ send Π½Π΅ сущСствуСт, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан автоматичСски. ΠŸΠΎΠ»Π½Ρ‹ΠΉ тСкст класса выглядит Ρ‚Π°ΠΊ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ мапится Π½Π° localhost:8080/msg, Π² Ρ‚Π΅Π»Π΅ запроса пСрСдаётся ΠΊΠ»ΡŽΡ‡ ΠΈ само сообщСний.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ сообщСний Π³ΠΎΡ‚ΠΎΠ², Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ создадим ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Ρ. Spring Ρ‚Π°ΠΊ ΠΆΠ΅ позволяСт cΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π±Π΅Π· особых усилий. Достаточно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @KafkaListener, Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠΏΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒΡΡ. Π’ нашСм случаС это выглядит Ρ‚Π°ΠΊ.

Π£ самого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ сообщСния, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ΠΎΠΌ.

Класс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @EnableKafka.

Π’Π°ΠΊ ΠΆΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ настроСк application.property Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π° groupe-id. Если этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ запустится. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ String ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ.

Наш ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠ°Ρ„ΠΊΠ°-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ². Π£ нас Π΅ΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ сообщСний. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Для Π½Π°Ρ‡Π°Π»Π° запускаСм ZooKeeper ΠΈ Kafka с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π°Ρ‚Π½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ написали Ρ€Π°Π½Π΅Π΅, Π·Π°Ρ‚Π΅ΠΌ запускаСм нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запрос ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Postman. Π’ Ρ‚Π΅Π»Π΅ запроса Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ msgId ΠΈ msg.
apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²
Если ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π² IDEA Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ, Π·Π½Π°Ρ‡ΠΈΡ‚ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚: ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ» сообщСниС, ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π΅Π³ΠΎ ΠΈ Π²Ρ‹Π²Π΅Π» Π² консоль.
apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

УслоТняСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с использованиСм Kafka ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ слоТнСС, Ρ‡Π΅ΠΌ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ создали. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ функциями сСрвиса, рассмотрим, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΎΠ½ прСдоставляСт. Для Π½Π°Ρ‡Π°Π»Π° ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€Π°.

Если Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ send(), Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ всСх Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ListenableFuture >. БСйчас ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ возмоТности Π΄Π°Π½Π½ΠΎΠ³ΠΎ интСрфСйса. Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ достаточно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ для просмотра Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния.

ΠœΠ΅Ρ‚ΠΎΠ΄ addCallback() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° – SuccessCallback ΠΈ FailureCallback. Оба ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ интСрфСйсами. Из названия ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния, Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ – Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ошибки.Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ запустим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° консоли ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π΅Ρ‰Ρ‘ Ρ€Π°Π· Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° нашСго ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€Π°. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли Π² качСствС ΠΊΠ»ΡŽΡ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ String, Π°, допустим, Long, Π° Π² качСствС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ сообщСния ΠΈ Ρ‚ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅ – какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ слоТная DTO? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ для Π½Π°Ρ‡Π°Π»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ Π½Π° числовоС значСниС…

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Если ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π² ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€Π΅ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° Long, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡˆΠ΅Π½ ClassCastException ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ сообщСно, Ρ‡Ρ‚ΠΎ класс Long Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΊ классу String.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ producerConfigs() создаём ΠΌΠ°ΠΏΡƒ с конфигурациями ΠΈ Π² качСствС сСриализатора для ΠΊΠ»ΡŽΡ‡Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ LongSerializer.class. ЗапускаСм, отправляСм запрос ΠΈΠ· Postman ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ: ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€ отправляСт сообщСниС, Π° ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΅Π³ΠΎ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ значСния. Π§Ρ‚ΠΎ Ссли Ρƒ нас Π½Π΅ стандартный класс ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java, Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ кастомный DTO. Допустим Ρ‚Π°ΠΊΠΎΠΉ.

Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ DTO Π² качСствС сообщСния, Π½ΡƒΠΆΠ½ΠΎ внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΄ΡŽΡΠ΅Ρ€Π°. Π’ качСствС сСриализатора значСния сообщСния ΡƒΠΊΠ°ΠΆΠ΅ΠΌ JsonSerializer.class ΠΈ Π½Π΅ Π·Π°Π±ΡƒΠ΄Π΅ΠΌ Π²Π΅Π·Π΄Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ String Π½Π° UserDto.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ сообщСниС. Π’ консоль Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка:

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’Π΅ΠΏΠ΅Ρ€ΡŒ займёмся услоТнСниСм ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π°. Π”ΠΎ этого наш ΠΌΠ΅Ρ‚ΠΎΠ΄ public void msgListener(String msg), ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ @KafkaListener(topics=Β«msgΒ») Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» String ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ» Π΅Π³ΠΎ Π½Π° консоль. Как Π±Ρ‹Ρ‚ΡŒ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ сообщСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ»ΡŽΡ‡ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡŽ? Π’ этом случаС Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ значСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

Из ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ConsumerRecord ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ нас ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ вмСсто ΠΊΠ»ΡŽΡ‡Π° Π½Π° консоль выводятся ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ кракозябры. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ для дСсСриализации ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ StringDeserializer, ΠΈ Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΡŽΡ‡ Π² цСлочислСнном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ отобраТался, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° LongDeserializer. Для настройки ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π° Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ config создадим класс KafkaConsumerConfig.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ»ΡŽΡ‡ отобраТаСтся ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, возмоТности Apache Kafka Π΄Π°Π»Π΅ΠΊΠΎ выходят Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ описаны Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, надСюсь, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² Π΅Ρ‘, Π²Ρ‹ составитС прСдставлСниС ΠΎ Π΄Π°Π½Π½ΠΎΠΌ сСрвисС ΠΈ, самоС Π³Π»Π°Π²Π½ΠΎΠ΅, смоТСтС Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½ΠΈΠΌ.

ΠœΠΎΠΉΡ‚Π΅ Ρ€ΡƒΠΊΠΈ Ρ‡Π°Ρ‰Π΅, носитС маски, Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π±Π΅Π· нСобходимости Π½Π° ΡƒΠ»ΠΈΡ†Ρƒ, ΠΈ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π·Π΄ΠΎΡ€ΠΎΠ²Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Π΅Π±-сСрвСр Apache ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Apache – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных Π² ΠΌΠΈΡ€Π΅ Π²Π΅Π±-сСрвСров. ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ вСбмастСра Π½Π΅ всСгда ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ прСдставляСт собой Apache ΠΈ ΠΊΠ°ΠΊ происходит взаимодСйствиС с Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм.

Π”Π°Π»Π΅Π΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ максимально ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΌ, приводя объяснСния ΠΎΠ±Ρ‰ΠΈΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌ.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Β«Π²Π΅Π±-ΡΠ΅Ρ€Π²Π΅Ρ€β€ŽΒ»

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСпосрСдствСнно ΠΊ Ρ€Π°Π·Π±ΠΎΡ€Ρƒ Apache, ΠΊΡ€Π°Ρ‚ΠΊΠΎ Π·Π°Ρ‚Ρ€ΠΎΠ½Ρƒ понятиС Π²Π΅Π±-сСрвСра, вСдь рассматриваСмоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ρ‚Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈ являСтся.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’Π΅Π±-сСрвСр – срСдство для обслуТивания сайта Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Он ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹, Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽΡΡ Π½Π° рСсурсС. Π’Π΅Π±-сСрвСр занимаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ доставляСт Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСрного ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° устройство ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, имСя доступ ΠΊΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ. НСсколько запросов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΡ€ΠΈ этом Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, написанными Π½Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ всС ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² HTML-ΠΊΠΎΠ΄ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π΅Π±-сСрвСр ΠΊΠ°ΠΊ своСобразного посрСдника ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром, Π³Π΄Π΅ хранятся всС Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Из этого становится понятно, для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ Π²Π΅Π±-сСрвСр Apache, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ясно, Ρ‡Π΅ΠΌ ΠΎΠ½ отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСства.

Π Π°Π±ΠΎΡ‚Π° Π²Π΅Π±-сСрвСра Apache

Π’Π΅Π±-сСрвСр Apache – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ установлСно Π½Π° сам сСрвСр. Как ΠΌΡ‹ ΡƒΠΆΠ΅ поняли, благодаря Π΅ΠΌΡƒ устанавливаСтся соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ ΡŽΠ·Π΅Ρ€ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΈ сСрвСром, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ запросС. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° страницу, Π΄Π°Π»Π΅Π΅ отправляСтся сигнал Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Apache Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‚ смог ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это ΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Бамая простая строка ΠΊΠΎΠ΄Π°, вводимая Π² этот Ρ„Π°ΠΉΠ» выглядит Ρ‚Π°ΠΊ:

Π•Π΅ основноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ – ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Apache ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ тСкст ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π’Π°ΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ дСлаСтся Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° стандартный Π²Ρ‹Π²ΠΎΠ΄ вас Π½Π΅ устраиваСт.

Благодаря .htaccess Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ паролями, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ индСксы Ρ„Π°ΠΉΠ»ΠΎΠ², Π·Π°ΠΏΡ€Π΅Ρ‰Π°Ρ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… настроСк. Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ источники ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ сСбя.

Если Π²Ρ‹ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ хостингС с этим Π²Π΅Π±-сСрвСром, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Virtual Apache Host Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ПО.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Apache с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π²Π΅Π±-сСрвСрами

Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Π±-сСрвСры, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ своими прСимущСствами ΠΈ нСдостатками. Обо всСх Π½ΠΈΡ… Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ, рассмотрим лишь ΠΏΠ°Ρ€Ρƒ достойных ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ².

НачнСм с самого извСстного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ – Nginx. Π—Π΄Π΅ΡΡŒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ – Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΌ прСимущСством являСтся ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΠ΅ Π±Π°Ρ€ΡŒΠ΅Ρ€Π° Π² 10 000 ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… соСдинСний. Apache Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ большой ΠΏΠΎΡ‚ΠΎΠΊ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° сразу, поэтому ΠΌΠ½ΠΎΠ³ΠΈΠ΅ вСбмастСра ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±Ρ‹ ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈΡΡŒ. Бвязано это с ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ структурой Apache ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π±Π°Ρ€ΡŒΠ΅Ρ€Π°. Однако Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠ»Π°Π½Π΅ Апач прСвосходит Nginx, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ простотС настройки, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΡŽΠ·Π΅Ρ€Ρ„Ρ€Π΅Π½Π΄Π»ΠΈ-ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π₯остинг Timeweb Π½Π° своих сСрвСрах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ связку Nginx+Apache: Nginx ΠΎΡ‚Π΄Π°Π΅Ρ‚ статичСский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π° Apache ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ динамичСского ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ – Tomcat, Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Ρ‚Π° ΠΆΠ΅ компания, Ρ‡Ρ‚ΠΎ ΠΈ Apache, Π½ΠΎ ΡƒΠΆΠ΅ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных Π½Π° Java, Π° Apache-сСрвСр – это HTTP-Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ инструмСнт. Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Java, Π° управляСтС статичСскими Π²Π΅Π±-страницами, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° Tomcat Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ стоит.

Установка Apache Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Apache, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ сайт с Π²Π΅Π±-сСрвСром, Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, прСдоставлСнной Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС. Π’Π°ΠΌ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для Windows, Π°Ρ€Ρ…ΠΈΠ²Ρ‹ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ инсталляции для Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ объяснСния всСх тонкостСй, связанных с настройкой Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ². Π€ΠΎΡ‚ΠΎ apache ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π½Π° Β« ΠšΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ Β» Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ инструкция, посвящСнная Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Apache Π² качСствС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прокси Π½Π° Ubuntu. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» для всСх Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… возмоТностях этого Π²Π΅Π±-сСрвСра.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки Apache

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Π·ΠΎΡ€Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΎ Apache Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ прСимущСствах ΠΈ нСдостатках этого Π²Π΅Π±-сСрвСра, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ слоТилась полная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π°.

ΠŸΠ»ΡŽΡΡ‹

Начну с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… становятся Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Π΅Π±-сСрвСра для своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС Π²Π»ΠΈΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹.

ΠœΠΈΠ½ΡƒΡΡ‹

К соТалСнию, Π½Π΅ обошлось ΠΈ Π±Π΅Π· минусов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ идСальноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Π»ΡŽΠ±Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ.

Apache – нСсомнСнно, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Π²Π΅Π±-сСрвСров, Π² Ρ‡Π΅ΠΌ Π²Ρ‹ смогли сами ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Π΄ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΌΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *