Cage Pūnaha Whakauru Kōnae Mamao

Kaupapa Pūnaha

Tautoko mo te uru mamao ki nga konae kei runga rorohiko i te whatunga. Ko te punaha "tata" ka tautoko i nga mahinga konae taketake katoa (te hanga, te whakakore, te panui, te tuhi, me etahi atu) ma te whakawhiti i nga whakawhitinga (karere) ma te whakamahi i te kawa TCP.

Nga tono

Ka whai hua te mahinga o te punaha i nga keehi e whai ake nei:

  • i roto i nga tono taketake mo nga taputapu pūkoro me nga taputapu whakauru (waea atamai, nga punaha whakahaere i runga i te poari, me etahi atu) e hiahia ana kia tere te uru ki nga konae kei runga i nga tūmau mamao i mua i te aukati i te wa poto i roto i te whakawhitiwhiti korero (me te haere tuimotu);
  • i roto i nga DBMS kua utaina, mena ka mahia te tukatuka patai ki etahi o nga kaitoro, ka mahia te rokiroki raraunga ki etahi atu;
  • i roto i nga whatunga rangatōpū tohatoha mo te kohikohi me te tukatuka korero, e hiahia ana ki te whakawhiti raraunga tere tere, te whakaheke me te pono;
  • i roto i nga punaha matatini me te hoahoanga microservice, he mea nui te whakaroa i te whakawhiti korero i waenga i nga waahanga.

hanganga

Ko te punaha Cage (he whakatinanatanga - he putanga beta i Python 3.7 i runga Windows) e rua nga waahanga matua:

  1. Cageserver — he papatono tūmau kōnae (he mōkihi mahi) e rere ana i runga rorohiko i runga i te whatunga e hiahia ana nga konae ki te uru mamao;
  2. te piha haapiiraa whare herehere me te whare pukapuka o nga tikanga mo te rorohiko a te kiritaki, te whakamaarama i te whakawaehere o te taunekeneke me nga kaitoro.

Te whakamahi i te punaha i te taha o te kiritaki

Ko nga tikanga o te karaehe Cage e whakakapi ana i nga mahinga o te punaha konae "maamaa": te hanga, te whakatuwhera, te kati, te whakakore kōnae, me te panui/tuhi raraunga ki te whakatakotoranga rua (e tohu ana i te waahi me te rahi o nga raraunga). Ko te tikanga, ko enei tikanga e tata ana ki nga mahi konae o te reo C, kei reira nga konae whakatuwhera / kati "i runga i nga awa" o te whakauru / putanga.

I etahi atu kupu, kaore te kaitakaro e mahi me nga tikanga o nga taonga "kōnae" (class _io i roto i te Python), engari me nga tikanga o te akomanga Cage.

Ina hangaia he tauira o te ahanoa Cage, ka whakatuu he hononga tuatahi ki tetahi tūmau (he maha nga tūmau ranei), ka whakamanahia e te Kiritaki Id, ka whiwhi i te whakau me te tau tauranga whakatapua mo nga mahi katoa o nga konae. Ina mukua he ahanoa Cage, ka tohutohuhia te tūmau kia mutu te whakawhitiwhiti korero me te kati i nga konae. Ka taea hoki te whakamutu o te whakawhitiwhiti korero e nga kaimau tonu.

Ka whakapai ake te punaha i te mahi panui/tuhi ma te tarai i nga kongakonga konae e whakamahia ana i nga wa katoa o nga papatono kiritaki i roto i te keteroki RAM (buffer).
Ka taea e te rorohiko kiritaki te whakamahi i te maha o nga ahanoa Cage me nga tautuhinga rereke (te rahi o te mahara, te rahi paraka i te wa e whakawhiti ana me te tūmau, me etahi atu).

Ka taea e te ahanoa Cage kotahi te korero me nga konae maha i runga i nga tūmau maha. Ko nga tawhā whakawhitiwhiti korero (te wahitau IP, te tūmau DNS ranei, te tauranga matua mo te whakamanatanga, te ara me te ingoa kōnae) ka tohua i te wa e hanga ana i te ahanoa.

I te mea ka taea e ia ahanoa Cage te mahi me nga konae maha i te wa kotahi, ka whakamahia te mokowā mahara tahi mo te buffering. Rahi Keteroki – ko te maha o nga wharangi me o raatau rahi, ka whakatauhia i te wa e hanga ana he ahanoa Cage. Hei tauira, ko te keteroki 1 GB he 1000 wharangi 1 MB ia, 10 mano wharangi 100 KB ia, he 1 miriona wharangi 1 KB ia. Ko te whiriwhiri i te rahi me te maha o nga wharangi he mahi motuhake mo ia keehi tono.

Ka taea e koe te whakamahi i nga ahanoa Cage maha i te wa kotahi ki te tautuhi i nga tautuhinga mahara buffer rereke i runga i te huarahi e uru atu ai nga korero ki nga konae rereke. Ko te mea taketake, ka whakamahia te algorithm buffering ngawari: i muri i te paunga o te nui o te mahara, ka huri nga wharangi hou i nga mea tawhito i runga i te kaupapa o te reti me te iti rawa o nga urunga. He tino whai hua te mahi buffering ki te kore taurite (i roto i te tikanga tauanga) uru tahi, tuatahi, ki nga konae rereke, tuarua, ki nga kongakonga o ia konae.

Ko te karaehe Cage e tautoko ana i te I/O ehara i te mea ko nga wahitau raraunga anake (e tohu ana i te tuunga me te roa o te raupapa, "whakakapi" i nga whakahaerenga punaha konae), engari ki te taumata iti ake, "a-tinana" - ma nga nama wharangi i roto i te mahara papaa.

Ka tautokohia te mahi taketake mo nga taonga Cage "moemoea" ("moe") - ka taea te "tiango" (hei tauira, mena ka ngaro te hononga ki nga kaitoro, ka mutu ranei te tono, me etahi atu) ki roto i te konae putunga o te rohe i te taha o te kaihoko me te whakahoki tere mai i tenei kōnae (i muri i te whakawhitinga korero, ka timata ano koe i te tono). Ma tenei ka taea te whakaiti i nga waka i te wa e whakahohehia ana te kaupapa a te kiritaki i muri i te "tuimotu" mo te wa poto, na te mea kua mau kee nga kongakonga konae kei roto i te keteroki.

Ko te whare herehere he 3600 nga rarangi waehere.

Nga kaupapa o te hanga tūmau

Ka taea te whakahaere i nga tūmau kōnae Cageserver me te maha o nga tauranga, ko tetahi o enei ("matua") ka whakamahia anake mo te whakamana i nga kaihoko katoa, ko te toenga ka whakamahia mo te whakawhiti raraunga. Ko te kaupapa tūmau Cage me Python anake. I roto i te whakarara, ka taea e te rorohiko me te tūmau kōnae te mahi i etahi atu mahi.

Ka timata te tūmau hei kohinga o ngā tukanga matua e rua:

  1. "Hononga" – he tukanga mo te whakahaere i nga mahi o te whakatuu korero me nga kaihoko me te whakamutu i runga i te kaupapa o te tūmau;
  2. "Nga Mahi" – he tukanga mo te mahi i nga mahi (mahi) a nga kiritaki ki te mahi me nga konae, me te kati i nga huihuinga korero i runga i nga whakahau a te kiritaki.

Karekau nga tukanga e rua i te tukutahia, ka whakaritea hei kopikopiko mutunga kore o te whiwhi me te tuku karere i runga i nga tuira maha, nga mea takawaenga, nga raka me nga turanga.
Ko te tukanga Hononga ka tohatoha he tauranga mo ia kiritaki ki te whiwhi me te tuku raraunga. Ka tautuhia te maha o nga tauranga ina timata te tūmau. Ko te mapi i waenga i nga tauranga me nga kaihoko ka rongoa ki roto i te mahara takawaenga tiritahi.

Ko te tukanga Mahi e tautoko ana i te tiri i nga rauemi konae kia taea ai e nga kiritaki rereke te tiri (ahua-whakarara, i te mea kei te whakahaeretia te uru e nga raka) panuihia nga raraunga mai i tetahi konae mena ka whakaaetia tenei i te wa i whakatuwherahia ai e te kaihoko "tuatahi".

Ko te tukatuka o nga whakahau ki te hanga / muku / tuwhera / kati i nga konae kei runga i te tūmau ka mahia i roto i te "Mahi" mahi ma te whakamahi i te punaha-a-roto o te OS tūmau.

Kia tere ake ai te panui/tuhi, ka mahia enei mahinga i roto i nga miro i puta mai i te tukanga "Nga Mahi". He rite tonu te maha o nga miro ki te maha o nga konae tuwhera. Ko nga mahi panui/tuhia mai i nga kaihoko ka tukuna ki te rarangi whanui ka tangohia e te miro koreutu tuatahi te mahi mai i tona upoko. Ma te arorau motuhake ka taea e koe te whakakore i nga mahi tuhi ano i nga raraunga i roto i te RAM o te tūmau.

Ka aro turuki te tukanga Mahi i nga mahi a te kiritaki, ka mutu te mahi ki a raatau i runga i a raatau whakahau, i te wa ka nui ake te waahi kore mahi.

Hei whakarite i te pono, ka pupuri a Cageserver i nga raarangi mo nga whakawhitinga katoa. Kei roto i tetahi rangitaki whanui nga kape o nga karere mai i nga kaihoko me nga mahi hei hanga/whakatuwhera/whakaingoatia/muku nga konae. Ka hangaia he rangitaki motuhake mo ia kōnae mahi, ka tuhia nga kape o nga karere me nga mahi mo te panui me te tuhi raraunga i roto i tenei konae mahi, tae atu ki nga rarangi o nga raraunga tuhi (hou) me nga huinga o nga raraunga i pakaru i te wa o te tuhirua (tuhi. nga raraunga hou "i runga" o nga mea tawhito).

Ka taea e enei rangitaki te whakaora i nga huringa hou ki nga taapiri me te whakahoki i nga ihirangi o naianei ki tetahi waahi o mua.

Ko Cageserver he 3100 nga rarangi waehere.

Cage Pūnaha Whakauru Kōnae Mamao

Te whakarewa i te kaupapa tūmau kōnae Cageserver

Ka timata, i roto i te korero me tautuhi koe:
— tauranga matua mo te whakamanatanga;
— te maha o nga tauranga mo te whakawhiti whakawhitinga me nga kiritaki whai mana (mai i te 1 neke atu ranei, ka timata te puna o nga nama mai i te taha ki te tau tauranga matua).

Te whakamahi i te karaehe whare herehere

piha haapiiraa whare herehere.whare herehere( cage_name="", pageesize=0, numpages=0, maxstrlen=0, server_ip={}, tatari=0, awake=False, cache_file="" )

He mea hanga mai i tenei karaehe e pahekoheko ana me nga kaitoro konae me te pupuri i te mahara papaa.

tawhā

  • ingoa_kaihere(Whakaako) - ingoa herenga o te ahanoa, ka whakamahia hei tautuhi i nga kaihoko i te taha o te tūmau
  • rahinga wharangi(int) — te rahi o te wharangi kotahi o te puhara puhara (i nga paita)
  • numpages(int) — te maha o nga wharangi mahara buffer
  • maxstrlen(int) - te roa morahi o te aho paita i roto i nga mahi tuhi me te panui
  • server_ip(te pato'i ra) - he papakupu me nga wahitau o nga kaitoro e whakamahia ana, ko te mea matua ko te ingoa herenga o te tūmau (id tūmau kei roto i te tono), ko te uara he aho me te wāhitau: “ip address:port” or “DNS: tauranga” (he wa poto te whakataurite o nga ingoa me nga wahitau tuturu, ka taea te whakarereke)
  • tatari(int) — te wa tatari mo te whakautu mai i te tūmau ina whiwhi tauranga (i roto i te hēkona)
  • ara(boolean) — kara o te hanga o te ahanoa (teka - ki te hangaia he ahanoa hou, pono - ki te hangaia he ahanoa mai i te mea "kua tiango" o mua - ma te whakamahi i te mahi "moemoea", He teka te taunoa)
  • keteroki_kōnae(Whakaako) - ingoa kōnae mo te moe moe

Nga tikanga

whare herehere.kōnae_hanga( tūmau, ara ) – hanga he kōnae hōu

whare herehere.ingoa_whakahou( tūmau, ara, new_name ) – whakaingoa anō i te kōnae

whare herehere.kōnae_tango( tūmau, ara) - mukua he kōnae

whare herehere.tuwhera( tūmau, ara, mod ) - tuwhera kōnae

Whakahoki fchannel tau hongere. Tawhā ki - koinei te aratau whakatuwhera kōnae: "wm" - motuhake (panui/tuhia), "rs" - panui-anake, ka tiritiri noa mo te panui e etahi atu kiritaki, "ws" - panui/tuhi, ka tiri noa ma te panui etahi atu kiritaki.

whare herehere.tata (fchannel) – kati te kōnae

whare herehere.tuhituhi (fchannel, timata, raraunga ) – tuhia he aho paita ki tetahi kōnae

whare herehere.te pānui i (fchannel, timata, len_data ) – panuihia te aho paita mai i te konae

whare herehere.put_pages ( fchannel ) – “pana” mai i te kaitarai ki te tūmau nga wharangi katoa o te hongere kua tohua kua whakarereketia. Ka whakamahia ki aua waahi i roto i te algorithm ina hiahia koe ki te mohio kei te tiakina tinana nga mahi katoa i runga i te hongere ki tetahi konae kei runga i te tūmau.

whare herehere.pana_katoa () – “pana” mai i te kaitaunaki ki te tūmau nga wharangi katoa o nga hongere katoa mo tetahi tauira o te akomanga Cage kua whakarereketia. Ka whakamahia ina hiahia koe ki te mohio kei te tiakina nga mahi katoa i runga i nga hongere katoa i runga i te tūmau.

Source: will.com

Tāpiri i te kōrero