Important
Π ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΡΡΠΎΠΈΡ Π°ΠΌΠ±ΠΈΡΠΈΠΎΠ·Π½ΡΠΉ ΠΈ ΠΊΡΠ΅Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΊΠΎΡΠΎΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π²Π΅Π±-Π»Π°Π½Π΄ΡΠ°ΡΡ. ΠΠ°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½Π° Π²Ρ ΠΎΠ΄ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ REST Π·Π°ΠΏΡΠΎΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ°, ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ Π² ΠΎΡΠ²Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅, ΡΠΊΠΎΡΠΎΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½Π° localhost. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅, Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ, ΠΏΠΎΠ»Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΠ°.
Note
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΡΠΈΠΏΠ° https://surl.li/ru, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΡΡ ΡΠ°Π±ΠΎΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ:
- ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΄Π΅ΡΡ Π±ΡΠ΄ΡΡ ΠΎΡΠ²Π΅ΡΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ, Π²ΡΠ±ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ β Kafka/GRPC, Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ.
- ΠΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ°Ρ Π²ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- Docker compose ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Π² Π»ΡΠ±ΠΎΠΉ ΡΡΠ΅Π΄Π΅.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠ°Ρ Π² ΡΠ΅Π±Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ REST Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ.
- ΠΠ»Ρ ΠΏΠΎΠ΄Π°Π½Π½ΠΎΠ³ΠΎ URL'Π° Π½Π° ΡΠ΅ΡΡΡΡ, ΡΠ΅ΡΠ²ΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ URL.
- ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ URL'a, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΠΈΡ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ.
- HA
- Π‘Π΅ΡΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΌ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ
- ΠΠ»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°, ΠΏΡΠΈΠΊΡΡΡΠΈΡΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄
Warning
- ΠΠ°ΠΊΠΎΠ²Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΌΠ΅ΡΡΡ (ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΎΠΊ)?
- ΠΠΎΠ»ΠΆΠ½Ρ Π»ΠΈ ΡΡΡΠ»ΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²Π΅ΡΠ½ΠΎ? ΠΡΠ»ΠΈ Π½Π΅Ρ ΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡ lifespan?
- ΠΠΎΠ»ΠΆΠ½Ρ Π»ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ? ΠΡΠ»ΠΈ Π΄Π° ΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅?
- ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ΅ΡΡΡΡ?
- ΠΠΎΠ»ΠΆΠ½Π° Π»ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΠΌΠ½ΠΎΠ³ΠΎ url?
- ΠΡΠ΄Π΅Ρ Π»ΠΈ ΡΠ΅ΡΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅?
- ΠΠΈΠ·Π½Π΅ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ,
- ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π΅Π½Π΅Π³?
- ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΆΠ΄Π°ΡΡ?
- ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ? ΠΠ΅Π³ΡΠ°Π΄Π°ΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ?
Tip
β Π§ΡΠΎ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ, $ΡΠΊΠ°? kizaru ft ΠΠ°ΡΠ±Π°ΡΠΈΠΊΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ "ΡΡΡΡ " Π·Π²Π΅Π½ΡΠ΅Π²Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° - Π½ΡΠΆΠ½Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
- Π€ΡΠΎΠ½ΡΠ΅Π½Π΄, ΠΏΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ; Π·Π°ΡΠΈΡΠ° ΠΎΡ
- Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅
- DDoS
- ΠΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ
- ΠΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
- ΠΡΡ
- ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ°
- ΠΡΠΊΠ΅Π½Π΄ β Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ
ΠΠΈΠΊΡΠΎΠΌΠΎΠ½ΠΎΠ»ΠΈΡ
ΠΠ»ΡΡΡ
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ²Π΅ΡΡ Π΅Π΄Π° ΠΏΡΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠΈΠ½ΡΡΡ
- ΠΡΡΠΎΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π²ΡΡΠ°Π΅Ρ Π²ΡΡ
- ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π΅ΡΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ
ΠΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅ΠΉ.
Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Ρ | 10 Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅ΠΉ | 100 Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅ΠΉ | 1000 Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»Π΅ΠΉ |
---|---|---|---|
0% | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π² 10 ΡΠ°Π· | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π² 100 ΡΠ°Π· | Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π² 1000 ΡΠ°Π· |
10% | 5.3 | 9.2 | 9.9 |
25% | 3.0 | 3.9 | 4.0 |
40% | 2.1 | 2.4 | 2.5 |
Higload ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Caution
Vue (Vite + Bun) - ΠΏΡΠΎΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ/ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½/2 ΠΌΠ΅ΡΡΠΎ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ½ΠΎΡΡΠΈ 2023Π³
Echo - ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»-Π²ΠΎΠΌ ΠΌΠΈΠ΄Π»Π²Π°ΡΠ΅ΠΉ Redis - Π² ΠΏΠ»Π°Π½Π΅ ΠΊΠ΅ΡΠ° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ (Memcached ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½, KeyDB Π΅ΡΡ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅) ClickHouse - Π°ΠΏΠΏΠ΅Π½Π΄ ΠΎΠ½Π»ΠΈ Π΄Π±, Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ. Traefik - opensource reverse-proxy, Π°Π²ΡΠ°ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΈΡΠΊΠ°Π²Π΅ΡΡΡΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡΡ Π±ΡΠ΄Ρ ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Ρ
Caution
ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΡΠ±Π΅ΡΠ° Π€ΡΠΎΠ½Ρ ΠΏΡΠΎΠ΄Π°Π΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΡ
# start DockerCompose Infra
make up
# stop DockerCompose Infra
make down
Warning
Kind Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π² External IP Using MetalLb with Kind METALLB MetalLB and NGINX Ingress // Setup External Access for Kubernetes Applications
Warning
HashiCorp moment? We have to hire CloudOps and add
- vault
- consul
- waypoint
- boundary
- terraform (have to write terraform modules for each cloud provider)
POST localhost:1323/short-it HTTP/1.1
Host: localhost:1323
Content-Type: application/json
Accept: */*
{
"long_url": "<YOUR_URL>"
}
# Returns OK (200), with the generated <SHORT_URL> in data
GET localhost:1323/short-it/<SHORT_URL> HTTP/1.1
Host: localhost:1323
Content-Type: application/json
Accept: */*
# Returns StatusFound (302) redirects user
erDiagram
short_to_long {
string short_url
string long_url
}
Important
shortuuid β generates UUIDs using google/uuid and then translate it to base57 using lowercase and uppercase letters and digits, and removing similar-looking characters such as l, 1, I, O and 0.
- tbank_processed_ops_total β The total number of processed events
- tbank_url_shortener_usage_redirect β The number of redirects
- tbank_url_shortener_usage_create β The number of short urls creation
- tbank_url_shortener_cache_usage β The number of cache usage
- tbank_url_shortener_db_usage β The number of db usage
- tbank_url_shortener_errors_total β The number of errors
- echo high performance, minimalist Go web framework. Task included by default
- clickhouse-go driver for ClickHouse
- go-redis redis client for Go
- prometheus open-source systems monitoring and alerting toolkit
- goose database migration tool
- env simple and zero-dependencies library to parse environment variables into structs
- shortuuid generates concise, unambiguous, URL-safe UUIDs that are used for shorten urls
- swaggo automatically generate RESTful API documentation with Swagger 2.0