Jump to content
  • Reklama

  • Kdo je online? (Celý seznam)

    • There are no registered users currently online
  • Změny statusů

  • Příspěvky

    • Ahoj! 👋 zkouším sílu tady!   Pracuji na projektu který bych chtěl tento rok spustit akorát mám málo času ⌛️.  Proto chci využít někoho z vás, rád bych někoho kdo má bohaté zkušenosti a trošku se ještě věnuje pawnu, může se také podílet na rozvoji tohoto projektu 💪 chci to zkusit v dnešní době, třeba to vyjde třeba ne za to už nic nedám, každopádně k k věci 👇   Potřeboval bych zpracovat dá se říci možna jednoduchý systém Gangů a Gang zón, přebírání a bránění ostatních gangů + nějaké menší funkce např. 1) ukládání zón a že při přebírání musí mít nějakou zbraň s alespoň 1 ammem a kdyžtak na dalších věcech by jsme se domluvili.    Za krásně odvedou práci nabízím finanční odměnu na které se domluvíme, můžeme se sejít klidně osobně a nebo to pořešit pouze přes internet a všechno zpracovat přes internet záleží, buďme seriózní 🧐    Děkuji, za každou pomoc.  Kontaktujte mě zde do zpráv nebo na discord: dando7878   PS: nepište ze takové systémy jsou vyhotoveny na internetu apod, možná ano, ale chci lepší výrobu 🤟
    • tyjo, to je docela zajimavy, hlavne jestli to umi automatickou persistenci 
    • Microsoft Orleans: Framework pre Distribuované Aplikácie Čo je Microsoft Orleans? Microsoft Orleans je framework na tvorbu distribuovaných, vysoko škálovateľných a spoľahlivých aplikácií v .NETe. Bol vyvinutý v Microsoft Research a je založený na virtual actor pattern, čo uľahčuje prácu s objektami v distribuovanom prostredí. Orleans je navrhnutý tak, aby minimalizoval potrebu manuálnej správy stavových objektov a synchronizácie, čo z neho robí ideálne riešenie pre aplikácie, ktoré vyžadujú vysokú dostupnosť a horizontálnu škálovateľnosť, ako napríklad herné servery, IoT systémy, finančné aplikácie či analytické platformy. Hlavné Vlastnosti Orleans Virtual Actors: Objekty (aktéri), ktoré automaticky „ožívajú“ a „zanikajú“ podľa potreby, bez manuálneho riadenia ich životného cyklu. Distribuovaná správa stavov: Aktéri uchovávajú svoj stav v perzistentnom úložisku a obnovujú ho pri reaktivácii. Automatické škálovanie: Orleans dynamicky prerozdeľuje zaťaž v klustri. Jednoduchosť: Používa sa podobne ako klasický objektový model v C#. Podpora cloudových riešení: Nativne podporuje Azure, ale je použiteľný aj v iných prostrediach ako napriklad Kubernetes. Virtual Actor Pattern Orleans je postavený na Virtual Actor Model, ktorý eliminuje manuálnu správu aktérov. Tento model rieši niektoré nevýhody klasického Actor Model (ako v Akka.NET) nasledujúcim spôsobom: Nie je potrebné manažovať životný cyklus aktérov – aktéri existujú virtuálne a sú aktivovaní, keď sú potrební. Automatická persistencia – stav aktéra môže byť uložený v perzistentnom úložisku (napr. SQL, Azure Table Storage, DynamoDB). Transparentné spracovanie správ – odosielanie správ nevyžaduje vedieť, kde aktér beží, systém ho nájde automaticky. Príklad definície aktéra v Orleans: public interface IPlayer : IGrainWithStringKey { Task<int> GetScore(); Task SetScore(int score); } public class PlayerGrain : Grain, IPlayer { private int _score; public Task<int> GetScore() => Task.FromResult(_score); public Task SetScore(int score) { _score = score; return Task.CompletedTask; } } Príklad volania PlayerGrain: IGrainFactory grainFactory = ...; // Inicializácia Orleans Grain Factory var player = grainFactory.GetGrain<IPlayer>("player1"); await player.SetScore(100); int score = await player.GetScore(); Console.WriteLine($"Hodnotenie hráča: {score}"); Ako Orleans Funguje? Orleans beží na klustri serverov a riadi aktérov v rámci uzlov (silo). Každý uzol je schopný hostovať aktérov a spracovávať ich požiadavky. Základné komponenty: Grain (aktér) - Logická jednotka, ktorá uchováva stav a vykonáva operácie. Silo - Serverový proces, ktorý hostuje aktérov. Client - Externý proces, ktorý volá aktérov cez API. Storage Providers - Mechanizmus pre perzistenciu stavu. Komunikácia medzi aktérmi Aktéri v Orleans komunikujú asynchrónne pomocou správ odosielaných cez framework. Každý aktér je identifikovaný unikátnym kľúčom a môže byť vyhľadaný prostredníctvom IGrainFactory. Komunikácia medzi aktérmi prebieha cez proxy objekty generované Orleans runtime, ktoré zabezpečujú správne smerovanie správ. Príklad volania iného aktéra z aktuálneho aktéra: public class PlayerGrain : Grain, IPlayer { public async Task SendChallenge(string opponentId) { var opponent = GrainFactory.GetGrain<IPlayer>(opponentId); await opponent.ReceiveChallenge(this.GetPrimaryKeyString()); } public Task ReceiveChallenge(string challengerId) { Console.WriteLine($"Hráč {challengerId} vás vyzval na súboj!"); return Task.CompletedTask; } } V tomto prípade aktér PlayerGrain posiela výzvu inému aktérovi PlayerGrain prostredníctvom jeho identifikátora. Orleans runtime zabezpečí, že správa sa doručí správnemu aktérovi, aj keď momentálne nie je aktívny. Kde sa Orleans Používa? Microsoft Orleans je široko používaný v rôznych odvetviach: Herný priemysel: Používa ho napr. Bungie pre Destiny 2. IoT a telemetria: Zber a spracovanie veľkého množstva udalostí. Finančné systémy: Distribuované spracovanie obchodných transakcií. Analytika a AI: Pracuje s distribuovanými modelmi strojového učenia. Záver Microsoft Orleans je silný framework pre tvorbu distribuovaných aplikácií v .NET ekosystéme. Jeho virtual actor pattern robí prácu s distribuovanými objektmi jednoduchšou a menej náročnou na správu. Ak hľadáte riešenie pre vysokoškálovateľné systémy s automatickou distribúciou a perzistenciou, Orleans je skvelou voľbou.
    • Ty to mas tak slozity, ze v tom dockeru to jeste buildis... Ten muj docker file je maly v tom, ze pouzivam uz vybuildenou appku a jen se v dockeru spousti. Samozrejme ze pokud chces v dockeru buildit tu appku tak se musi nastavit komplet cely vyvojovy prostredi v dockeru. 
    • Neříkám, že jsem nějaký profík na Docker, ale Astro SSR v dokumentaci: FROM node:lts AS base WORKDIR /app # By copying only the package.json and package-lock.json here, we ensure that the following `-deps` steps are independent of the source code. # Therefore, the `-deps` steps will be skipped if only the source code changes. COPY package.json package-lock.json ./ FROM base AS prod-deps RUN npm install --omit=dev FROM base AS build-deps RUN npm install FROM build-deps AS build COPY . . RUN npm run build FROM base AS runtime COPY --from=prod-deps /app/node_modules ./node_modules COPY --from=build /app/dist ./dist ENV HOST=0.0.0.0 ENV PORT=4321 EXPOSE 4321 CMD node ./dist/server/entry.mjs A to je bez databáze a dalších service. Pokud bych chtěl databázi a další věci, tak ještě vedle musí být docker-compose atp. Ale ano, kdo to používá denně, tak je to pro něj easy, já se přiznám, že jsem to přes docker zkoušel jenom párkrát a už jen byl oser s tím, že místo npm používám bun. Ale jak to popisuješ ty, tak to zní lehce :D 
  • Nejlepší reputace

    Nobody has received reputation this week.

  • Statistiky

    • Celkem témat
      33.2k
    • Celkem příspěvků
      325.2k
  • Pupulární tagy

×
×
  • Create New...