πΎ eBPF Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠΊΡΠΈ: Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Kubernetes.
ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ WSO2 ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ scale-to-zero Π² Kubernetes β ΠΎΡΠΊΠ°Π· ΠΎΡ ΠΏΡΠΎΠΊΡΠΈ Π² ΠΏΠΎΠ»ΡΠ·Ρ eBPF. ΠΠ½ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏ, Π³Π΄Π΅ eBPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ XDP ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ.
π§βπ» ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
β eBPF-Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡ ΠΈΡ
ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
β ΠΠΎΡΠ»Π΅ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ POD Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ, ΠΌΠΈΠ½ΡΡ ΠΏΡΠΎΠΊΡΠΈ
β ΠΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ
TCP-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
β Π Π°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ
TCP-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ HTTP)
β Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ latency Π½Π° 30-50% ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ
β ΠΠΎΠ»Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ
β ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π°ΠΆΠ΅ stateful-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π²ΡΠΎΠ΄Π΅ PostgreSQL
π Π‘ΡΡΠ»ΠΊΠ°