Ticket #24 (closed enhancement: fixed)

Opened 5 years ago

Last modified 8 months ago

Server sharing of high traffic areas

Reported by: mike Owned by: mike
Priority: highest Milestone: MV3D-0.60
Component: server Version: 1.0
Keywords: review Cc:
Estimated Effort: 3 weeks Platform: All
State: Conceptualizing Relative Size: 1

Description

Problem

If an area gets so much traffic that a single server can't handle it (100-200 players), then the area should be automatically spread across multiple servers. This should be seamless to anyone in the area.

Change History

Changed 5 years ago by mike

  • version changed from 0.4 to 0.3

Changed 5 years ago by mike

Ideas

  1. Make it so that CachedObjects? aren't Iterated on each frame
  2. Find the weighted center of the area (add all object positions and divide by nr of objects)
  3. Find in which direction objects are most evenly distributed across the center (25 to one side, 25 to the other)
  4. Split the area at that point in that direction (either x, y, or z) all objects greater than the center are offloaded to another server (including all their observers)

Changed 5 years ago by mike

  • platform set to All
  • state set to Conceptualizing

More Ideas

Act like a quadree (or an octree? yah that's better).. This could be used on a single server as well to distribute load. Find the size of the area in question and split it into 8 sections. Farm off those sectons to secondary servers for the area. If an individual section gets bad, split it into 8 sections and so on.

Changed 5 years ago by mike

Changed 4 years ago by mike

  • version changed from 0.3 to 0.4

Changed 4 years ago by mike

  • milestone changed from beta-test to MV3D-0.32

Milestone beta-test deleted

Changed 4 years ago by mike

  • milestone changed from MV3D-0.32 to backlog

Changed 4 years ago by mike

  • milestone changed from backlog to MV3D-0.32

Changed 4 years ago by mike

  • milestone changed from MV3D-0.32 to backlog

Changed 4 years ago by mike

  • milestone changed from backlog to MV3D-0.34

Changed 4 years ago by mike

  • milestone changed from MV3D-0.34 to MV3D-0.36

Changed 2 years ago by mike

  • milestone changed from MV3D-0.40 to backlog

Changed 17 months ago by mike

  • milestone changed from backlog to MV3D-0.50

v0.50 planning

Changed 13 months ago by mike

  • milestone changed from MV3D-0.50 to backlog

Moving pathfinding in to 0.50 and splitting of areas out.

Changed 13 months ago by mike

  • version changed from 0.4 to 1.0

Changed 13 months ago by mike

  • priority changed from normal to highest

Changed 12 months ago by mike

  • milestone changed from backlog to MV3D-0.60

Changed 11 months ago by mike

  • priority changed from highest to high

Changed 8 months ago by mike

  • status changed from new to assigned
  • relative_size set to 1

Created branch /branches/24-sharearea.

Changed 8 months ago by mike

  • priority changed from high to highest

#485 marked as a dupe of this.

Changed 8 months ago by mike

  • keywords review added

Changed 8 months ago by mike

  • status changed from assigned to closed
  • resolution set to fixed

Fixed in [1600].

Note: See TracTickets for help on using tickets.