Solmujen välinen viestintä ja määritys
Opitte määrittämään ja yhdistämään useita Erlang-solmuja sekä ymmärtämään niiden taustalla olevan jakeluprotokollan ja suojausmekanismit.
Solmujen välinen viestintä ja määritys on ilmainen Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-kurssilla on yhteensä 4 oppituntia.
Tervetuloa hajautettuun Erlangiin
Erlang on parhaimmillaan hajautettujen järjestelmien rakentamisessa! Sen avulla useat Erlangin virtuaalikoneet (VM:t), joita kutsutaan solmuiksi, voivat viestiä saumattomasti keskenään.
Tässä oppitunnissa opitte määrittämään nämä solmut ja yhdistämään ne toisiinsa. Tämä muodostaa perustan vikasietoisille ja skaalautuville sovelluksille.
Erlang-solmujen nimien ymmärtäminen
Jokainen Erlang-solmu tarvitsee yksilöllisen nimen tunnistamista varten hajautetussa järjestelmässä. Nimiä on kahta tyyppiä:
- Lyhyet nimet (esim.
mynode): Käytetään samalla paikallisella koneella tai saman verkon segmentissä oleville solmuille. Käynnistetään valitsimella-sname. - Pitkät nimet (esim.
node1@example.com): Välttämättömiä eri isäntäkoneille ja verkkoihin hajautetuille solmuille. Edellyttävät täydellistä toimialuenimeä (FQDN), ja ne käynnistetään valitsimella-name.
Käytämme paikallisissa esimerkeissä pääasiassa lyhyitä nimiä.
Erlang-eväste: jaettu salaisuus
Jotta kaksi Erlang-solmua voi viestiä keskenään, niillä on oltava yhteinen salainen avain, jota kutsutaan nimellä Erlang-eväste. Voitte ajatella sitä salasanana solmujen väliseen todentamiseen.
- Jos solmuilla on eri evästeet, ne eivät voi muodostaa yhteyttä.
- Eväste on merkkijono (esim.
mysecretcookie). - Se on tärkeä tietoturvan kannalta: pitäkää evästeet salaisina ja luokaa vahvoja evästeitä!
Ensimmäisen solmun käynnistäminen
Käynnistetään Erlang-solmu lyhyellä nimellä ja evästeellä. Avatkaa pääte ja suorittakaa seuraava komento:
erl -sname alpha -setcookie myappsecretKun Erlang-kuori on latautunut, voitte tarkistaa solmun nimen ja evästeen:
node().(näyttää solmun täydellisen nimen)erlang:get_cookie().(näyttää evästeen)
EPMD: porttien yhdistämispalvelu
Kun Erlang-solmu käynnistyy, se rekisteröityy paikalliseen prosessiin nimeltä EPMD (Erlang Port Mapper Daemon).
EPMD:n tehtävänä on seurata, mitkä Erlang-solmut ovat käynnissä paikallisella isäntäkoneella ja missä TCP-porteissa ne kuuntelevat. Kun yksi solmu haluaa muodostaa yhteyden toiseen samalla koneella olevaan solmuun, se pyytää EPMD:ltä kohdesolmun porttinumeron.
Voitte tarkastella rekisteröityjä solmuja komennolla epmd -names erillisessä päätteessä.
Kahden paikallisen solmun yhdistäminen
Käynnistäkää nyt toinen solmu toisessa päätteessä. Varmistakaa, että käytätte samaa evästettä:
erl -sname beta -setcookie myappsecretKokeilkaa pingata beta-solmua alpha-solmun kuoresta:
net_adm:ping(beta@~s).Korvatkaa ~s koneenne isäntänimellä (esim. net_adm:ping(beta@localhost).). Jos tuloksena on pong, solmut on yhdistetty! Yhdistetyt solmut voi tarkistaa myös komennolla nodes().
Solmun identiteetin esittely
Tämä yksinkertainen Erlang-moduuli auttaa tunnistamaan nykyisen solmun. Se on kokonainen ohjelma, joka ilmoittaa oman solmunimensä.
Tallentakaa tämä tiedostoon node_id.erl, kääntäkää se Erlang-kuoressa (c(node_id).) ja kutsukaa sitten node_id:print_name(). nähdäksenne tulosteen.
-module(node_id).
-export([print_name/0]).
print_name() ->
io:format("Current node name: ~p~n", [node()]).Pitkät solmunimet etäisännille
Kun yhdistätte eri fyysisillä koneilla tai eri verkoissa olevia solmuja, teidän on käytettävä pitkiä solmunimiä ja -name-valitsinta. Tällöin on käytettävä solmun täydellistä toimialuenimeä (FQDN) tai IP-osoitetta.
Esimerkki: erl -name node1@server.example.com -setcookie myappsecret
pitkien nimien käyttö varmistaa, että solmut voidaan tunnistaa yksiselitteisesti ja niihin voidaan muodostaa yhteys laajemman verkon yli.
Tietoturvan perusnäkökohdat
Vaikka Erlang-eväste tarjoaa perustason todennuksen, huomioikaa seuraavat seikat:
- Vahvat evästeet: Käyttäkää tuotantoympäristöissä pitkiä, satunnaisia merkkijonoja.
- Palomuurisäännöt: Määrittäkää palomuurit sallimaan EPMD:n (portti 4369) ja dynaamisten Erlang-solmuporttien välinen liikenne vain luotettujen isäntäkoneiden välillä.
- TLS: Käyttäkää arkaluonteisille tiedoille tai epäluotettavissa verkoissa Transport Layer Securityä (TLS) salattuun viestintään. Tätä käsitellään myöhemmässä oppitunnissa.
Solmun määrityksen pikatarkistus
Olette oppineet Erlang-solmuista, nimistä, evästeistä ja EPMD:stä. Testataan ymmärrystänne!
Kertaus: solmujen välisen viestinnän perusteet
Olette ottaneet ensimmäisen askeleen hajautetun Erlangin parissa! Käsittelimme seuraavat aiheet:
- Erlang-solmut: Erilliset Erlangin virtuaalikoneet, jotka voivat viestiä keskenään.
- Solmujen nimet:
-snamepaikallisiin ja-nameetäsolmuihin (FQDN). - Erlang-eväste: Jaettu salaisuus solmujen todentamista varten.
- EPMD: Paikallisten solmujen etsinnästä vastaava daemon.
- Solmujen yhdistäminen: Viestintä muodostetaan komennolla
net_adm:ping/1.
Seuraavaksi tutkimme, miten nämä yhdistetyt solmut voivat todella viestiä keskenään!
Opi Erlang tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Solmujen välinen viestintä ja määritys” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-oppimispolun 3 oppituntia, myös oppitunnin “Solmujen välinen viestintä ja määritys”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Solmujen välinen viestintä ja määritys”?
Opitte määrittämään ja yhdistämään useita Erlang-solmuja sekä ymmärtämään niiden taustalla olevan jakeluprotokollan ja suojausmekanismit. Harjoittelet Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Solmujen välinen viestintä ja määritys”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-oppitunnilla?
Kyllä. Jokainen Erlang OTP: hajautettujen ja vikasietoisten järjestelmien ohjelmointi-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Solmujen välinen viestintä ja määritys
- Etäproseduurikutsut (RPC)
- Globaalien prosessien rekisteröinti
- Hajautuksen suojaus ja cookiet