You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using atoms as name option in start_link is bad for scalability. Since these are not garbage collected, using them will eventually cause the BEAM to run out of memory. Lets use unique SHA hashes as names using the via tuple contract provided by Registry.
Use unique content hashes for names of nodes and eventually Distributed Hash Tables for resource discovery (like kademlia). SHA hashes provide versioning and avoid name collisions. For example, reusing an action would be unique from another version even though the user used the same module. Two versions of same module can do different things also. Each version runs in separate process. No namespace collisions. One could have thousands of the same module running as processes. This is a very good thing for programming large systems.
The text was updated successfully, but these errors were encountered:
upstarter
changed the title
Add the Registry to (top level?) Supervisor and convert all start_link calls to use the "via tuple".
Convert all start_link calls to use SHA hashes the "via tuple".
Feb 22, 2020
upstarter
changed the title
Convert all start_link calls to use SHA hashes the "via tuple".
Convert all start_link calls to use SHA hashes as names, via the "via tuple".
Feb 22, 2020
upstarter
changed the title
Convert all start_link calls to use SHA hashes as names, via the "via tuple".
Convert all start_link calls to use SHA hashes as names, via the Registry "via tuple".
Feb 22, 2020
Using atoms as name option in start_link is bad for scalability. Since these are not garbage collected, using them will eventually cause the BEAM to run out of memory. Lets use unique SHA hashes as names using the via tuple contract provided by Registry.
Use unique content hashes for names of nodes and eventually Distributed Hash Tables for resource discovery (like kademlia). SHA hashes provide versioning and avoid name collisions. For example, reusing an action would be unique from another version even though the user used the same module. Two versions of same module can do different things also. Each version runs in separate process. No namespace collisions. One could have thousands of the same module running as processes. This is a very good thing for programming large systems.
The text was updated successfully, but these errors were encountered: