Topology (Topology)
Space-based architecture ได้ชื่อมาจากแนวคิดเรื่อง tuple space ซึ่งเป็นเทคนิคการใช้ processor แบบขนานหลายตัวที่สื่อสารกันผ่าน shared memory ระบบแบบ space-based บรรลุ scalability, elasticity และ performance ระดับสูงได้ด้วยการแทนที่ฐานข้อมูลกลางซึ่งเป็น synchronous constraint ของระบบ ด้วย in-memory data grid แบบ replicated
ข้อมูลของแอปพลิเคชันถูกเก็บไว้แบบ in-memory และ replicate ไปยัง processing unit ที่ active ทั้งหมด เมื่อ processing unit ตัวหนึ่งอัปเดตข้อมูล มันจะส่งข้อมูลนั้นไปยังฐานข้อมูลแบบ asynchronous ผ่าน data pump ซึ่งมัก ทำผ่าน messaging ที่ใช้ persistent queue processing unit จะ start ขึ้นและ shut down แบบ dynamic ตามที่ user load เพิ่มขึ้นหรือลดลง ซึ่งช่วยแก้ปัญหาเรื่อง variable scalability เนื่องจากไม่มีฐานข้อมูลกลางเข้ามา เกี่ยวข้องกับ transactional processing มาตรฐานของแอปพลิเคชัน database bottleneck จึงถูกกำจัดไป ทำให้ แอปพลิเคชันมี scalability แทบไม่จำกัด
Space-based architecture เป็น architectural style ที่ซับซ้อน ประกอบด้วย artifact หลายชนิดที่ทำงานร่วมกัน เพื่อประมวลผล request หนึ่งรายการ artifact หลักของมันได้แก่:
Processing units
ประกอบด้วย application functionality
Virtualized middleware
กลุ่มของ artifact ที่เกี่ยวข้องกับ infrastructure ซึ่งใช้จัดการและประสานงาน processing unit
Messaging grid
ใช้จัดการ input request และ session state
Data grid
จัดการการ synchronize และ replicate ข้อมูลระหว่าง processing unit
Processing grid
ใช้จัดการ orchestration ของ request ระหว่าง processing unit หลายตัว
Deployment manager
จัดการการ start และ tear down instance ของ processing unit ตาม load ที่เพิ่มขึ้นหรือลดลง
Data pumps
ส่งข้อมูลที่อัปเดตแล้วไปยังฐานข้อมูลแบบ asynchronous
Data writers
ทำการอัปเดตข้อมูลตามที่ได้รับจาก data pump
Data readers
อ่านข้อมูลจากฐานข้อมูลและส่งให้ processing unit ตอน startup
Figure 16-2 แสดง artifact หลักเหล่านี้