Edge-Network dev framework
Stack is an edge-network dev framework based on golang. It builds the Sub/Pub, Stream-Exchange, Text-Communication models for various network environments, such as RPC, P2P scenarios.
Stack is currently in its initial development phase and therefore there will be a lot of breaking changes.
Edge social network communication dev framework in Go. It will support Sub/Pub msg and exchange file.
Why do we create this?
We need to build a world without AI, BigData. Huge companies are prying into our personal life and tracing whole private things. Human in this world should respect each other's privacy. No man analyzes our data in the place we don't know.
So now you know, We hate the big companies hold all data of ours.
Inspired by Go-Micro and Orbit-db.
--Log --Peer ----Codec ----Pubsub ----Registry ----Store ----Transport -------------Touch ------------------Node
Node is the smallest indivisible unit for exchanging data in peers-net. It includes
Registryfor the outside and
Loggerfor the inside.
See architecture as below:
Relay Node: Gateway, nodes in public network logically. Helps other types nodes communicate within the bad network.
Terminal Node: Users' nodes.
Registry Node: Registry Center. Helps nodes look for others. 'Center' doesn't mean this kind of node is necessary. We use this for easy discovery.
Types can be init at one node which means a node could have tree types. Those types run in one or multi-process.
We have two top communications functions, pub/sub and transport files. Except Pub/Sub Event msg, every thing transported in the network is file. Such as Blog page file, image file, short post like Twitter.
Files should be stored in node if they don't shared as public, but if people like some files to be public or share them with some extra people, the node will help them to make the files as BitTorrents or Magnets.
Node communication looks like: