Re: Clearing Houz
By: apam to deon on Fri Oct 07 2022 04:05 pm
Howdy,
I was just wondering how you store messages in Clearing Houz? I think
from memory you use couchdb or cockroach db or something?
So I started Clearing Houz using mongodb only because, I think like you, I wanted to check it out. For me it was problematic because it doesnt enforce a schema (it's benefit) and I found I was spending too much time trying to fix problems, only to find I had a typo in the schema or query here and there. (And probably because I dont know it natively like SQL, so learning how to query it outside of clrghouz was a learning curve I was too impatient to learn.)
I also wanted the replication - one of the designs I had for Clearing Houz, so that nodes could drop mail off (and pick it up) from any place. I think mongo can do, but I had to reasearch how to do it.
So I did switch to CockroachDB - which is SQL and uses the postgres protocol (and in doing so, I discovered an emabarrising amount of mistakes that I had made :) It provided the geo replication that I was wanting out of the box and it is very easy to use (probably because I know SQL better).
(Meatlotion provided a couple of nodes for cockroach - so when you were hitting the website (and hub 3 was tossing mail) it was actually updating the DB that was spread between AU and UK.)
I've put Clearing Houz to sleep for a bit, mainly because I'm busy with other things and because I need to address a latency issue that I thought was making the web experience not great. (I wanted to enable sysops to configure, sign up and almost be able to self-diagnose why their mail wasnt flowing via it). So I may end up ditching cockroachdb if I cant fix that... :(
Is that using a similar format to JSON?
Mongo does return (and I guess does accept) JSON data when querying and storing. I was actually using via an SQL like interface (Clearing Houz is built on laravel - and it has a query interface called eloquent that abstracts the database store).
I'm going to experiment with MongoDB on my rust BBS, and wondered if
there was a way to transmit messages in JSON format.
I don't really want to implement FTN, as this BBS is for experimenting,
but I thought it might be fun to experiment with building a new sort of "network".
I was wondering if something like clearing houz would be able to easily
gate messages between FTN and whatever?
That was another one of my goals with Clearing Houz - given that I had messages in "a database", writing different "packet" formats should be very easy - and I had thought of enabling an API to get/put echomail using a POST with a JSON payload. In my case I'd consume the JSON payload before it got to the DB, but in terms of sharing data around, I do think its a good any easy format to use. (I do a lot of APIs and JSON payloads.)
Anyway, I've not thought this through very much yet, just tossing out
ideas of things that might be fun to do (My son is out for the day with
his mum visiting poppy - so I have some free time ;P)
Awesome, treasures those moments, they seem to get smaller every day !
If you want to play with something, let me know, and I'll turn back on clearing houz - happy to set something up if you need another target...
...
--- SBBSecho 3.15-Linux
* Origin: I'm playing with ANSI+videotex - wanna play too? (21:2/116)