Esim. C ohjelma voi sisältää useampia DLL:iä, minkä funktioita voi kutsua headeria käyttämällä. Onko microservices tälle web-maailman analogia, missä DLL:ää vastaa joku WebAPI?
Microservices - olenko ymmärtänyt oikein?
11
1821
Vastaukset
- Anonyymi
Webbipalvelu voi koostua muutamasta mikropalveluista, kuten ingressistä, frontendistä, backendeistä, tietokannoista jne.
- Anonyymi
Lopeta nää sekoavaukset!
- Anonyymi
Ei.
DLL on kirjasto. Microservicessä kyse on palvelusta. Windowsin tulostusjono esimerkiksi on palvelu. Webservicessä palvelua käytetään HTTP API:lla.
Palvelu on keskeinen tapa tehdä uudelleen käytettävä komponentti backendiin.- Anonyymi
Kuinka tuollaista HTTP API:ia käytetään?
- Anonyymi
Anonyymi kirjoitti:
Kuinka tuollaista HTTP API:ia käytetään?
No sillä HTTP:llä.
Ei sitä HTTP protokollan tukea sattumalta ole joka puolella. Tästä voit tutustua protokollan ominaisuuksiin tarkemmin: https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol - Anonyymi
Tai sitten Amazon Aws tapauksessa Sqs-jono ja Sns S3
- Anonyymi
Anonyymi kirjoitti:
Kuinka tuollaista HTTP API:ia käytetään?
"DLL on kirjasto. Microservicessä kyse on palvelusta"
Niin: HTTP APIa voit käyttää suoraan omasta ohjelmastasi tekemällä HTTP GET tai POST -kutsun (joka nykyaikaan on kyllä yleensä HTTPS eikä enää HTTP kuten oli vielä 2000 -luvun alussa pankkipalveluja lukuunottamatta, jotka ovat aina olleet HTTPS).
Vaihtoehto:
Jos jokin taho on tehnyt DLL:n, joka tekee HTTPS -kutsun puolestasi, silloin voit omasta ohjelmastasi käyttää tuon DLL:n sisältämiä funktioita, jolloin ko. DLL tekee sen HTTPS -kutsun puolestasi. - Anonyymi
Anonyymi kirjoitti:
"DLL on kirjasto. Microservicessä kyse on palvelusta"
Niin: HTTP APIa voit käyttää suoraan omasta ohjelmastasi tekemällä HTTP GET tai POST -kutsun (joka nykyaikaan on kyllä yleensä HTTPS eikä enää HTTP kuten oli vielä 2000 -luvun alussa pankkipalveluja lukuunottamatta, jotka ovat aina olleet HTTPS).
Vaihtoehto:
Jos jokin taho on tehnyt DLL:n, joka tekee HTTPS -kutsun puolestasi, silloin voit omasta ohjelmastasi käyttää tuon DLL:n sisältämiä funktioita, jolloin ko. DLL tekee sen HTTPS -kutsun puolestasi.DLL ei tähän liity oikeasti millään tavalla.
DLL Windowseissa käytetty dynaamisesti linkattava kirjasto. Käytännössä on käännetty läjä koodia palikaksi mitä voi käyttää sellaisenaan. Sillä ei ole mitään tekemistä serviceiden kanssa.
- Anonyymi
Eikös tästä ollu joku tehnyt mikrokerneleinä käyttöjärjestelmänkin, ts. tiedostojen tallennus oli palvelu(mikrokernel), jota muut osat käyttivät halutessaan tallentaa tietoja, jne. En muista, miksi tämä ei yleistynyt, mutta kai siihen oli jokin tekninen syy. Periaatteessa tulee kuitenkin helpommin ylläpidettävää koodia, joka on erittäin selvärajaista - sopii hyvin olio-ohjelmoinnin kanssa yhteen!
- Anonyymi
Mikrokernel ei ole palvelu, mikrokernelissä esimerkiksi tiedon tallennus tai verkkopino ovat palveluita.
- Anonyymi
Ei ole. Tuo on linkkaamista, ei microservice.
Microservice on sitä että ohjelma palastellaan serviceihin, jokainen service on prosessi, ja niitä sitten käytetään jollain protokollalla. Aika tavallisesti serviceihin laitetaan kommunikointia varten publish-subscribe patternin mukaisesti jokin millä välitetään viestit. Servicet voivat tietenkin olla eri laitteilla myös, että protokollat laitetaan toimimaan verkkosocketien läpi.
Idea tietenkin on se että voi päivittää jotain serviceä koskematta muuhun ohjelmaan mikä on käynnissä ja on helppo testata niitä serviceitä. Samalla järjestelmä huomioi laitteella rinnakkaisuuden myös automaattisesti, että ei tarvitse käydä vaikka kikkailemaan säikeiden kanssa.
Temppu toki onnistuu C-kielellä myös vaikka se onkin huono siinä. Helpoin tapa olisi määrittää servicet vaikka Apache HTTP serverillä ja laittaa sinne C-kieliä prosesseja vastaamaan queryihin. Näitähän voi sitten vaihdella ajon aikana helposti.
Tästä enempää C-tyylillä ei asiaa oikein voi tehdä. On huomioitava että C on tarkoitettu käytännössä matalammella tasolle, ilman että hajautetaan ohjelmaa useille laitteille, että tässä lähinnä vastine olisi "init" ja "systemd".
Init on se vanha mikä oli aikoinaan käytössä yleisesti unixeissa mutta ne kun vaihtuivat suurelta osin linuxeihin niin on siirrytty systemd serviceihin
https://en.wikipedia.org/wiki/Init
https://en.wikipedia.org/wiki/Systemd
Eli toki voi tehdä serviceistä koostuvan järjestelmän tietokoneelle hajauttamatta sitä useammalle laitteelle. C-kieli tosin on aikoja sitten jäänyt vanhaksi että sitä käytetään enää tällaissa vain matalalla tasolla, käyttöjärjestelmän palveluiden muodossa.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1033893
Satuit vain olemaan
Ensimmäinen joka avasi minussa sen nähdyksi ja rakastetuksi tulemisen puolen. Pitäisi vain muistaa että et ole ainoa. Se482771- 1142599
24/7 sinä mielessä, ihan jatkuvalla syötöllä
Aamulla herätessä, päivällä melkein nonstop, illalla nukkumaan mennessä, öisin herätessä. Mikä viddu tässä on 🤣392108Jotain pitää nyt keksiä että sinut näkisi
Ensiviikolla viimeistään. Tälle on pakko saada kunnon piste tai sitten aloitetaan loppuelämä yhdessä, tulen hulluksi muu311890Mulla tulee vaan niin
Paha olo siitä mitä teidän välillä on. Vaikka se on sun päätös mitä haluat. Tuntuu että menetän jotakin vaikka tiedän et291733- 271582
Ihanasti alkoi aamu: SDP:n kaula kokoomukseen jo 6,9 %-yks
Lindtmanin I hallitus on tukevasti jytkyttämässä laittamaan Suomi kuntoon Orvon täystuhohallituksen jäljiltä, jonka kann2181538Mitkä olivat viimeiset sanasi ikävoinnin kohteellesi
Ja milloin? Mitä olisit sanonut jos olisit tiennyt että ne jäävät viimeisiksi -ainakin toistaiseksi?811488- 221378