The role of a node's location
Why do we use a mesh network?
Messages move exclusively over the open channels between nodes. Therefore, no new connections are usually opened after the startup. Messages are passed from node to node until they reach their destination. In doing so, they take the cheapest route across the network, because each path between two nodes (link) has a cost in terms of the time it takes to pass the message on. The network is constantly surveyed to respond appropriately to the state of the connections.
A typical large
What belongs together
Services that always work together can be kept in close proximity by smart selection of nodes. The goal is to locate services that need each other on the same node or in closer proximity. It makes sense to install applications that are needed on several continents, including services, on nodes in these continents. Central services are favorably to be kept in the cloud. More remote services, which are actually intended for more remote users, conveniently still provide a backup in case local services ever fail.
Nevertheless, there will be services that are only available in one place on the network. Databases are to be mentioned here in the first place, but also often existing local services, such as interfaces to external systems, warehouses, machines. Here it is often convenient to set up local proxy services. For example, no user interface requires complete database entities. Usually only strings are displayed, no matter whether a numeric value or a date is displayed behind it. Services located in the immediate proximity of databases can extract and prepare data from database queries. Only the data that is needed should be shared with other services. Under no circumstances should SQL queries be formulated in applications or user interfaces and the results transported directly over the network.
Caches are another way to decentralize local singletons.
Due to the modularization of