Kua whakaputaina e Cloudflare te tukunga o te anga Pingora 0.4, i hangaia mo te whakawhanake i nga ratonga whatunga haumaru, mahi nui i roto i te reo Rust. Ko te takawaenga i hangaia ma te whakamahi i a Pingora kua whakamahia i roto i te whatunga tuku ihirangi Cloudflare hei utu mo Nginx mo te neke atu i te rua tau me nga tukanga neke atu i te 40 miriona tono mo ia rua. Kua tuhia te waehere ki Rust ka whakaputaina i raro i te raihana Apache 2.0.
Ko nga ahuatanga matua o Pingora:
- Tautoko mo te HTTP/1 me te HTTP/2 (HTTP/3 i roto i nga mahere), me te kaha ki te hanga ratonga ma te whakamahi i o raatau ake tikanga, UDP/TCP ranei.
- Tautoko mo te tukatuka miro-maha o nga tono i roto i te aratau tukutahi.
- Ko te kaha ki te whakapiri i nga kaikawe waea whakahoki me nga whiriwhiringa ka taea e koe te whakahaere i nga momo waahanga o te tukatuka tono, tae atu ki te whakarereke, te huri, te aukati me te takiuru nga tono me nga whakautu.
- Takawaenga i te gRPC me te WebSocket.
- He taurite kawenga hono.
- Te kaha ki te huri i te whirihoranga me te kore e timata ano.
- Tautoko mo te whakahou i te waehere tono me te kore e pakaru hononga.
- Ko nga tikanga mo te huri i te uta i te wa o te rahua (failover).
- Ko te whakaurunga me nga momo punaha aroturuki me te takiuru (Syslog, Prometheus, Sentry, OpenTelemetry).
- Tautoko mo te whakamunatanga TLS (ma te whakamahi i te OpenSSL, BoringSSL, Rustls ranei).
- Ko nga kohinga Rust kua rite mo te hanga i nga takawaenga HTTP, te mahi me nga kawa whatunga, te parai i nga pane HTTP, te kaute me te whakaiti i nga waka, te taurite o te kawenga, te mahi tahi me te teepu Hash kua tohatohahia e Ketama, te pupuri i te keteroki i roto i te RAM me te tukatuka tukutahi o nga wa.
I roto i nga huringa o te putanga hou:
- Ko te tautoko tuatahi mo te whare pukapuka tuhinga tuhi a Rustls ma te whakamahi i nga kaiwhakarato crypto i runga i nga whare pukapuka aws-lc-rs me nga mowhiti i runga i te BoringSSL.
- Tautoko whakamatautau mo te papanga Windows.
- Aratau TLS Dummy, ka taea te whakamahi i nga waahi kaore e taea te whakamahi i te whakatinanatanga TLS pono.
- Kua tāpirihia te tautoko mō te kōwae gRPC-web hei whakamāori i ngā tono a te kiritaki gRPC-web ki ngā tono ki tūmau gRPC.
- Ka whakarato i te kaha ki te hapai i te H2C (HTTP/2 i runga i te TCP kau, kahore he whakamunatanga) me nga hononga HTTP/1 i runga i te tauranga whatunga kotahi.
- Kua taapirihia te kaha ki te hono i o ake whakatinanatanga o te mahi hono() hei whakarereke i te whanonga i te wa e whakatuu ana i te hononga whatunga, hei tauira, ki te whakarite i etahi atu whiringa mo te turanga, te whakatairite ranei i nga hapa i te wa o te whakamatautau.
- He kaha ki te wareware i nga whakautu korero i te wa e takawaenga ana, penei i nga whakautu me te pane "Timanahia: 100-haere tonu".
- He tautoko taapiri mo te wetewete i nga whakautu kua kopirihia e te gzip.
- Kua whakatinanahia te kaute o te ahua o muri mo nga kaupapa aro turuki.
- Kua taapirihia te kaha ki te here ki te whānuitanga o nga tauranga rohe.
Source: opennet.ru
