Te tukunga o Pingora 0.4, he anga mo te hanga ratonga whatunga

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

Tāpiri i te kōrero