Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I am looking explore options for distributed publishing. What software is there?
The material to be published is a mixture of text (lots of it), supplemented with images, audio, and video. In other words, it is basic web page material, but heavily text-oriented and numbering many tens of thousands of documents. I have no qualms about leaving HTTP/HTTPS behind if necessary or would Rsync web site mirrors be the best bet? In that case would it help if the documents were static, generated by a static site generator, or dynamic and stored in WordPress? NNTP and IPFS are out for different reasons, IPFS in particular because of its heavy CPU and bandwidth requirements. Gemini looks promising but is not finalized and currently has issues with large files, such as video. How is the redundancy in Ceph and can it tolerate nodes appearing and disappearing?
What else is there? Or, what else could be stitched together?
CMS and Wikis are centralized, as far as I know. I'm looking for something where several machines can serve the same documents even when one of the machines is unavailable. The overall availability should continue while one node is down..
The documents already exist so a Wiki would be out. From what I've seen, a CMS requires a substantial investment in learning and maintaining the software. Since the documents already exist as individual files, I am wondering what file oriented approaches are out there.
The documents already exist so a Wiki would be out. From what I've seen, a CMS requires a substantial investment in learning and maintaining the software. Since the documents already exist as individual files, I am wondering what file oriented approaches are out there.
Have you considered a torrent node?
The problem would be advertising the files and convincing other nodes to replicate them. Once you accomplish that the files are available with a simple torrent link to anyone with a torrent client, and can come form any or several of the torrent nodes hosting the files. (Including client machines that have downloaded them!).
Ok, so this is essentially about reliable file download?
Are all the documents already created or will new ones arrive or existing ones be updated or replaced?
And will end-users always want the latest versions, or just the ones at the moment they download?
Torrents might work if they don't change and just want the current file(s), but if you add/remove/change the contents you get a new hash/torrent, and thus fork/divide the seeders each time there's a change.
On the other side of things, a Git-based solution would be better when users want to receive changes without re-downloading everything, however availability through multiple remotes would probably be unwieldy - better to run it atop a distributed file system, which would be what you wanted for non-Git downloads too.
I now see the "Ceph" that you mentioned before, but there's no "Gemini" (and a search seems to only bring up a single on-topic result, which is a PDF).
There's at least seven other non-proprietary options with "high availability" marked as yes - I'd start by checking which of those are either already in kernel (e.g. Coda) or supported/available in your distro's repos.
Yes, it's about reliable download and browsing (in the generic sense) of various files. The caches or repositories would have to be updated with new documents frequently, perhaps several times per day, but once in the system the documents do not change.
Torrent would be great, if it were feasible to keep adding documents to the seed.
At this point I am wondering about disseminating the files within a pool of distributed nodes, that is to say the back end for any access system. Above all, I would like to keep it about two or three orders of magnitude simpler than WordPress. What about the Coda File System? Or can HAMMER2 nodes be far apart?
Gemini might be one possible way to access the documents from the outside: https://gemini.circumlunar.space/ but only once the files are already on the nodes.
CMS and Wikis are centralized, as far as I know. I'm looking for something where several machines can serve the same documents even when one of the machines is unavailable. The overall availability should continue while one node is down..
So you are thinking of something such as a High Availability (HA) server. The tools are there, but I do not know if they are scaled for smaller usage. Many commercial organizations have their main systems in HA config so that if one fails it automatically fails over to the other and the user likely never even is aware. The data is mirrored between systems and the server is fail safe so when one fails the other automatically picks up.
Searching for high availability servers should give you several possibilities. It is not even really hard to set up for those who know how. It does require a minimum of 2 network paths between the servers and data stores.
The simplest would be 2 machines, each fully configured to be identical, where the active machine has constant monitoring by the standby machine and if connection is lost the standby picks up the network address and data services of the (previously) active one. There has to be continuous communication between the two where any data change on the active machine is mirrored on the standby machine immediately.
High Availability but at a relatively small scale sounds about right, but without the heavy overhead of the larger approaches. The burden, especially that of specialized knowledge, required of the system administrator(s) must be as low as possible. It needs to avoid Parkinson's Law and pursue KISS.
The Linux Virtual Sever with Direct Routing looks about right except the method ought to work for nodes on different ISP's networks, sometimes with a noticeable latency between some of them.
I think I might be able to test something with Ceph soon.
So something like a gemini, httpd, or Archie server as a distributed cluster so that if one site/server died the internet presence would still exist?
Hmmm. That should be doable, but the best way would be a team creating cone servers at different sites with a mutual update mechanism, meaning you would all have to agree on formats, software, and both presentation and communication standards.
Torrents (one per file) and a torrent directory might be the easier option, but if you decide to go with some distributed cluster solution I want in on this! Sound like FUN!
When I worked for IBM the HA was accomplished with HA servers and a SAN data store that both servers accessed.
Each server monitored the other and if the 'master' failed to repond properly in a specified time period the secondary took over everything, including telling the 'master' to go offline totally if needed. They shared a network so there was a 'management' IP and a 'service' IP. The running server used 'service' IPs that were shared with the backup but those IPs were down on the backup server and active on the 'master'. The fail-over took those IPs down on the 'master' and brought them up on the backup so the user never knew the difference.
I can easily envision an NAS file server (or 2, running mirrored) with 2 servers using that data store. The 2 servers could easily be configured with identical services and as has been mentioned could use a round-robin style dns service to share the load or if one failed the remaining could do everything.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.