Hirdetés

Új hozzászólás Aktív témák

  • Drizzt
    nagyúr

    Felmerült bennem egy kérdés egy saját project-et illetően.

    Ha mondjuk egy project-et kezdek, aminek van több különálló komponense, akkor azokat érdemes külön-külön maven project-ben csinálni?
    Például: Ha mondjuk egy blog-ot veszünk alapul, annak van több különálló komponense.
    - kliens rész (blog olvasása)
    - writer rész (blog írása)
    - admin (blog-ok karbantartása)
    - user account / user rights
    - képkezelő komponens
    - stb.

    Csak példa volt. De arra gondolok, hogy ilyenkor egy maven project legyen az egész, vagy mondjuk érdemes egy 'blog' parrent project-et csinálni és abba megcsinálni egyesével a komponenseket? Gondolom ha külön lenne jobban lehetne karbantartani, nem?
    Vagy túlbonyolítom a helyzetet és elég, ha külön-külön package-be mennek?

    Ha külön vannak, akkor mindenképpen nyered:
    - Az egyes komponensek fordítása jóval gyorsabb lesz.
    - Kisebbek, célszerűen jobban értelmezhetők lesznek a komponensek.
    Hátrány:
    - A verziószámokkal komoly kavarodást lehet összehozni. Bár ha követi az ember a semver szabályait, akkor igazából nem kéne, de én azt tapasztalom, hogy mégis nagyon nehéz eldönteniük embereknek, hogy mikor melyik verziószámot kellene léptetniük.

    Extrémebb eset, ha kiszervezed teljesen független alkalmazásokba a modulokat, amik különféle API-kal kommunikálnak. Előny:
    - Lehet skálázni csak azt a komponenst, amit kell.
    - Lehet heterogén az architektúra.
    Hátrány:
    - Amint valami kimegy a hálózatra, fel kell arra készülni, hogy a kommunikációval bajok lesznek. Timeout-ok, elveszett üzenetek, duplikált üzenetek.

    Még lehet message bus architektúrát is alkalmazni. Ez olyan, mint az utóbbi, de az üzenetek tárolása, küldése, etc. nem a saját alkalmazásod feladata, hanem egy message bus-é. Mint pl.: a Kafka, vagy JMS.

Új hozzászólás Aktív témák