คำถามติดแท็ก actor

5
รูปแบบการทำลายของ LMAX ทำงานอย่างไร
ฉันพยายามที่จะเข้าใจรูปแบบ disruptor ฉันดูวิดีโอ InfoQ และพยายามอ่านบทความของพวกเขา ฉันเข้าใจว่ามีบัฟเฟอร์วงแหวนที่เกี่ยวข้องซึ่งเริ่มต้นเป็นอาร์เรย์ขนาดใหญ่มากเพื่อใช้ประโยชน์จากตำแหน่งแคชการกำจัดการจัดสรรหน่วยความจำใหม่ ดูเหมือนจะมีจำนวนเต็มหนึ่งอะตอมหรือมากกว่านั้นซึ่งติดตามตำแหน่ง แต่ละเหตุการณ์ดูเหมือนว่าจะได้รับ id ที่ไม่ซ้ำกันและมันอยู่ในตำแหน่งของวงแหวนโดยการหาโมดูลัสของมันตามขนาดของแหวน ฯลฯ น่าเสียดายที่ฉันไม่เข้าใจวิธีการทำงานของสัญชาตญาณ ฉันได้ทำการซื้อขายแอพพลิเคชั่นมากมายและศึกษาโมเดลนักแสดงดูที่ SEDA และอื่น ๆ ในการนำเสนอของพวกเขาพวกเขากล่าวว่ารูปแบบนี้โดยทั่วไปแล้วเราเตอร์ทำงานอย่างไร อย่างไรก็ตามฉันไม่พบคำอธิบายที่ดีว่าเราเตอร์ทำงานอย่างไร มีคำแนะนำที่ดีสำหรับคำอธิบายที่ดีกว่านี้หรือไม่?

5
นักแสดง Scala: รับและตอบสนอง
ขอบอกก่อนว่าฉันมีประสบการณ์ Java ค่อนข้างมาก แต่เพิ่งเริ่มสนใจภาษาที่ใช้งานได้ไม่นาน เมื่อเร็ว ๆ นี้ฉันได้เริ่มดู Scala ซึ่งดูเหมือนเป็นภาษาที่ดีมาก อย่างไรก็ตามฉันได้อ่านเกี่ยวกับกรอบนักแสดงของ Scala ในProgramming ใน Scalaและมีสิ่งหนึ่งที่ฉันไม่เข้าใจ ในบทที่ 30.4 กล่าวว่าการใช้reactแทนreceiveทำให้สามารถใช้เธรดซ้ำได้ซึ่งดีต่อประสิทธิภาพเนื่องจากเธรดมีราคาแพงใน JVM นี่หมายความว่าตราบใดที่ฉันจำได้ว่าต้องเรียกreactแทนreceiveฉันสามารถเริ่มนักแสดงมากเท่าที่ฉันชอบได้หรือไม่? ก่อนที่จะค้นพบ Scala ฉันเคยเล่นกับ Erlang และผู้เขียนProgramming Erlangภูมิใจนำเสนอเกี่ยวกับการวางไข่กว่า 200,000 กระบวนการโดยไม่ต้องเสียเหงื่อ ฉันไม่อยากทำแบบนั้นกับเธรด Java ฉันกำลังดูข้อ จำกัด ประเภทใดใน Scala เมื่อเทียบกับ Erlang (และ Java) นอกจากนี้เธรดนี้จะใช้ซ้ำใน Scala ได้อย่างไร สมมติเพื่อความง่ายผมมีด้ายเพียงเส้นเดียว นักแสดงทุกคนที่ฉันเริ่มทำงานตามลำดับในเธรดนี้หรือการสลับงานบางอย่างจะเกิดขึ้น? ตัวอย่างเช่นหากฉันเริ่มต้นนักแสดงสองคนที่ส่งข้อความปิงปองถึงกันฉันจะเสี่ยงต่อการชะงักงันหรือไม่หากพวกเขาเริ่มต้นด้วยเธรดเดียวกัน ตามที่การเขียนโปรแกรมใน Scalaเขียนนักแสดงที่จะใช้งานยากกว่าด้วยreact receiveฟังดูมีความเป็นไปได้เนื่องจากreactไม่กลับมา แต่หนังสือเล่มนี้ไปในการแสดงให้เห็นว่าคุณสามารถใส่ภายในห่วงใช้react Actor.loopเป็นผลให้คุณได้รับ loop { …

3
เมื่อใดควรใช้ตัวแสดงแทนโซลูชันการส่งข้อความเช่น WebSphere MQ หรือ Tibco Rendezvous
ฉันได้อ่านคำถามและคำตอบแล้วว่าการตัดสินใจในการออกแบบใดที่จะเป็นประโยชน์ต่อนักแสดงของสกาล่าแทนที่จะเป็น JMS . โดยปกติเราใช้โซลูชันการส่งข้อความที่มีมาหลายปีแล้ว: การใช้งาน JMS เช่น WebSphere MQ หรือ Apache ActiveMQ ใช้สำหรับการสื่อสารแบบจุดต่อจุดหรือ Tibco Rendevous สำหรับการส่งข้อความแบบหลายผู้รับ มีความเสถียรพิสูจน์แล้วและมีความพร้อมใช้งานและประสิทธิภาพสูง อย่างไรก็ตามการกำหนดค่าและการตั้งค่าดูซับซ้อนกว่าใน Akka มาก เมื่อใดและเหตุใดฉันจึงควรใช้ Akka ในบางกรณีที่ใช้ผลิตภัณฑ์ดังกล่าวข้างต้น - WebSphere MQ หรือ ActiveMQ - สำเร็จแล้ว เหตุใดฉันจึงควรพิจารณาใช้ Akka แทน WebSphere MQ หรือ Tibco RV ในโครงการในอนาคตของฉัน และเมื่อใดที่ฉันควรหลีกเลี่ยง Akka? มีความพร้อมใช้งานและประสิทธิภาพสูงเช่นเดียวกับโซลูชันอื่น ๆ หรือไม่? หรือเป็นความคิดที่ดีที่จะเปรียบเทียบ Akka กับตัวกลางการส่งข้อความอื่น ๆ ? อาจมีโซลูชันการส่งข้อความอื่นในสภาพแวดล้อม …
106 java  scala  jms  actor  akka 

3
Node.js evented system แตกต่างจากรูปแบบนักแสดงของ Akka อย่างไร?
ฉันทำงานด้วยNode.jsมาระยะหนึ่งแล้วและคิดว่าตัวเองค่อนข้างดีกับ Java แต่ฉันเพิ่งค้นพบAkkaและสนใจรูปแบบนักแสดงของมันทันที (จากสิ่งที่ฉันเข้าใจ) ตอนนี้สมมติว่าทักษะ JavaScript ของฉันเทียบเท่ากับทักษะ Scala / Java ของฉันฉันต้องการมุ่งเน้นไปที่การใช้งานได้จริงของทั้งสองระบบ โดยเฉพาะอย่างยิ่งในแง่ของบริการเว็บ เป็นความเข้าใจของฉันว่า Node นั้นยอดเยี่ยมในการจัดการการดำเนินการหลายอย่างพร้อมกัน ฉันคิดว่าบริการเว็บโหนดที่ดีสำหรับระบบการจัดการสินทรัพย์จะสามารถจัดการกับผู้ใช้จำนวนมากที่ส่งการเปลี่ยนแปลงในเวลาเดียวกัน (ในแอปพลิเคชันขนาดใหญ่ที่มีการจราจรหนาแน่น) แต่หลังจากอ่านเกี่ยวกับนักแสดงใน Akka แล้วมันก็จะดีในสิ่งเดียวกัน และฉันชอบแนวคิดในการลดงานเป็นชิ้นขนาดพอดีคำ นอกจากนี้เมื่อหลายปีก่อนฉันเคยไปเที่ยว Erlang และตกหลุมรักระบบส่งข้อความที่ใช้ ฉันทำงานกับแอพพลิเคชั่นมากมายที่จัดการกับตรรกะทางธุรกิจที่ซับซ้อนและฉันคิดว่าถึงเวลาแล้วที่จะต้องข้ามไปที่หนึ่ง โดยเฉพาะอย่างยิ่งการอัปเกรดแอปพลิเคชัน Struts และ C # แบบเดิม อย่างไรก็ตามการหลีกเลี่ยงสงครามศักดิ์สิทธิ์ทั้งสองระบบมีความแตกต่างกันอย่างไร? ดูเหมือนทั้งสองจะมุ่งไปสู่เป้าหมายเดียวกัน สถาปัตยกรรม "บำบัดตนเอง" ของ Akka อาจมีข้อได้เปรียบ แก้ไข ดูเหมือนว่าฉันจะได้รับการโหวตอย่างใกล้ชิด โปรดอย่าใช้คำถามนี้ว่า "โหนดไหนดีกว่าโหนดหรือ Akka" สิ่งที่ฉันกำลังมองหาคือความแตกต่างพื้นฐานของไลบรารีที่ขับเคลื่อนด้วยเหตุการณ์เช่นโหนดและไลบรารีที่อิงตามนักแสดงเช่น Akka
94 node.js  events  akka  actor 

2
นักแสดงทำงานอย่างไรเมื่อเทียบกับเธรด
มีคำอธิบายที่ดีและสั้น ๆ เกี่ยวกับการทำงานของนักแสดงเมื่อเทียบกับเธรดหรือไม่? ไม่สามารถมองเห็นเธรดในฐานะนักแสดงและส่งข้อความไปยังเธรดอื่นได้หรือไม่? ฉันเห็นความแตกต่างบางอย่าง แต่ก็ไม่ชัดเจนสำหรับฉัน ฉันสามารถใช้นักแสดงในภาษาใดก็ได้โดยใช้เธรดที่แตกต่างกันหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.