Skådespelare Modell. Skådespelarmodellen ger en högre grad av abstraktion för att skriva samtidiga och distribuerade system. Det lindrar utvecklaren från att behöva hantera explicit låsning och trådhantering, vilket gör det enklare att skriva korrekta samtidiga och parallella system. Arter definierades 1973 Papper av Carl Hewitt men har blivit populariserad av Erlang-språket och användes till exempel på Ericsson med stor framgång för att bygga högt samtidiga och tillförlitliga telekomsystem. Distribueras av standard. Allting är utformat för att fungera i en distribuerad inställning använder alla interaktioner av aktörer Rent meddelande skickas och allt är asynkront. Denna insats har gjorts för att säkerställa att alla funktioner är tillgängliga lika när de körs inom en enda process eller på ett kluster av hundratals maskiner. Nyckeln för att möjliggöra detta är att gå från fjärr till lokalt genom Optimering istället för att försöka gå från lokal till fjärr genom generalisering Se det här klassiska dokumentet för en detaljerad di Scussion på varför det andra tillvägagångssättet är bundet till att misslyckas. Övervakningsövervakning. Aktorer bildar ett träd med skådespelare som föräldrar till de skådespelare som de har skapat. Som en förälder är skådespelaren ansvarig för att hantera sina barns misslyckanden så kallad tillsyn, som bildar en Ansvarskedja hela vägen till toppen När en skådespelare kraschar kan dess förälder antingen starta om eller stoppa det eller eskalera felet i aktörernas hierarki. Detta möjliggör en ren uppsättning semantik för hantering av fel i ett samtidigt distribuerat system och Tillåter att skriva högt feltoleranta system som självläkande. Vi kan föreställa oss ett hypotetiskt HFT-system i Java, vilket kräver mycket låg latens, med massor av kortlivade små objekt något på grund av oscillabilitet Scala, tusentals anslutningar per sekund och Ett obscent antal meddelanden som passerar runt i en händelsesdriven arkitektur akka och amqp. For experterna där ute, vad skulle hypotetiskt vara den bästa inställningen för JVM 7 Vilken typ av kod skulle göra det lyckligt skulle Scala och Akka är redo för denna typ av system. Notera Det har funnits några liknande frågor, som den här men jag har ännu inte hittat en täckande Scala som har sitt eget idiosynkratiska fotavtryck i JVM. asked 30 mar 12 på 23 15.It Är möjligt att uppnå mycket bra prestanda i Java Men frågan behöver vara mer specifik för att ge ett trovärdigt svar. Din huvudsakliga latentkällor kommer från en icke-uttömmande lista. Hur mycket skräp du skapar och GC: s arbete att samla in och Främja det Immutabla mönster i min erfarenhet passar inte bra med låg latens GC-tuning måste vara ett stort fokus. Värm upp JVM så att klasser laddas och JIT har haft tid att göra sitt arbete. Design dina algoritmer för att vara O 1 eller åtminstone O log2 n och har prestanda tester som hävdar detta. Din design måste vara låsfri och följa Single Writer Principle. En betydande insats måste sättas in för att förstå hela stacken och visa mekanisk sympati vid användningen. Design dina algoritmer Och datastrukturer som är cachevänliga Cache missar dessa dagar är den största kostnaden Detta är nära relaterat till processaffinitet som, om det inte är korrekt konfigurerat, kan resultera i och betydande cache-förorening Det kommer att innebära sympati för operativsystemet och till och med en del JNI-kod i vissa fall. Se till att du har tillräckliga kärnor så att en tråd som behöver köra, har en kärna tillgänglig utan att behöva vänta. Jag bloggade nyligen om en fallstudie om en sådan övning. Du kan upptäcka att användningen av en ringbuffert för meddelandeöverföring kommer att överträffa vad som kan Görs med Akka Den huvudsakliga ringbuffertimplementationen som människor använder på JVM för finansiella applikationer är en som heter Disruptor, som är noggrant inställd för effektivitetsstyrka i två storlekar, för JVM ingen GC, inga lås och för moderna CPU: er är det ingen felaktig delning av cacheminnet Linjer. Här är en intro presentation från en Scala synvinkel och det finns länkar på den sista bilden till den ursprungliga LMAX stuff. answered 3 juli 12 på 3 52. Mycket intressant Tack för att du delar Hugo Sere Nej Ferreira 10 juli 19 19. Ditt svar.2017 Stack Exchange, Inc. Scala Backtesting Live Trading Framework byggd på toppen av Akka Spray. Vad är det bra för. Det här ramverket kan vara användbart för personer som kommer från Scala-bakgrunden som gör Deras första steg i live-testning av automatiserade handelsstrategier med hjälp av Oanda s REST API, vilket enligt min mening är ett av de bästa tillgängliga detaljhandel API: erna eftersom detta är pågående arbete, om du är en Scala-entusiast och är intresserad av automatiserad handel, har en Titta och gärna gaffel repo och bidra. Bara klona repo och släpp din handelslogik till Don t glömma att ändra för att inkludera ditt eget konto ID och access token för Oanda s REST API. Note Om du bara letar efter ett sätt att Ansluta till Oanda REST API med Scala Akka, kolla in mitt Scalanda-projekt. Du kan inte utföra den åtgärden just nu. Du loggade in med en annan flik eller ett fönster. Uppdatera för att uppdatera din session. Du loggade ut i en annan flik eller ett fönster. Uppdatera för att uppdatera din session.
No comments:
Post a Comment