You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by cryptearth <cr...@cryptearth.de> on 2019/08/03 04:59:55 UTC

RE: About database Clustering on james server

Hey Jason,

I thought again about the database sync and ID conflicts: I don't know if james generates the id or if the database does, but no matter where the id is generated it should be possible to modify it to be a unix timestamp instead of a counter. Reason: it's very unlikely that two instance in a master-slave config (that's a primary server with a backup) have a id generated at the same timestamp. This way not only a replication from master down two slave is possible but also from slave back up to the master. It would need a bit of rewrite some lines of source and the database queries - but should be doable. If I'm correct the current unix timestamp may fit in a signed integer - but long would be better.

Matt

---- Jason Tjankilisan schrieb ----

>Hiya matt,
>
>Sorry for the delay reply,
>
>Thank you for the idea. As for the workaround for the ID Conflict, that;s why I want to use Percona / Galera cluster, co-worker said that they have automated system about the conflict ID. But for starter, I will try to implement that master-slave sync to james. For the ID- Problem, some people said that : each server (example 2 server)  can only create specific number of sequence, Server 1 can only create ID 1,3,5 and so on while Server 2 can only create ID 2,4,6  and so on to avoid conflict.
>
>How things coded and how it works , detect if my server back up online and syncing up everything is still unknown to me. But at least I have an idea how things work. But im guessing firstly I have to create a custom Mailet and using javamail to send the “unsynchronized” message to all server when its back online.
>
>Thank you for the suggestion / Idea , sorry for any wrong word .
>
>Sincerely, Jason
>
>Sent from Mail for Windows 10
>
>From: cryptearth
>Sent: Friday, July 19, 2019 4:50 PM
>To: server-user@james.apache.org
>Subject: Re: About database Clustering on james server
>
>Hey Jason,
>
>it's not clustering in the multi-directional way but I use master-slave 
>sync for my setup: On my root-server my main instance run - and at home 
>my backup instance sync each night. There's this one main issue: When 
>mails get delivered to my backup at home they don't sync back up to the 
>main - and may can get lost when mails on the root already taken IDs 
>wich my backup assigned to other mails. So it's not the best to use in 
>production as ID-conflicts can happen wich only can be handled by James 
>itself. The other idea I can come up with would be to use IMAP to sync 
>the mails instead of sync the databases cause as said James has to 
>handel possible ID conflicts wich could occur when try to sync multiple 
>instances.
>
>Matt
>
>Am 19.07.2019 um 06:46 schrieb Jason Tjankilisan:
>> Halo,
>> Im curios if james can be modified to have Database Clustering. Since James can use MariaDB and Mysql.Assuming it can, is it better to choose Mysql Percona XtraDB Cluster, or MariaDB Galera Cluster? we already have 3 James server ready to be synchronized for database clustering.
>> Our team agree to implement Percona Extradb Cluster since many people said has better perfomance than MariaDB Galera Cluster,but i did want to know which suit better for james? Also considering the statement that mysql been bought by Sun and changing the license so redistributing it wouldn't be easy as before (might have to read more about this) Re: Applying JDKIM and SPF to the Mailets
>> After some reading on server-user archive, Clustering isnt available on james last time, is it available now? there's many different opinion and thought, can anybody shed some light?
>> Re: Clustering James 2.3    -> Im not really sure if this was clustering
>> Does james-ha work well?   -> using one database on mutiple james server, so i guess its the oposite of  clustering
>> Does james support cluster in order to build a mail delivery cluster? -> i want to believe the answer but there;s no further explanation
>> https://www.mail-archive.com/server-user@james.apache.org/msg15622.html   -> im guessing clustering is too heavy for james to handle?
>>
>>
>> |  |  |
>> Does james support cluster in order to ...
>>   |
>>
>>
>>
>>
>>
>>
>> |  |  |
>> Does james-ha work well?
>>   |
>>
>>
>>
>>
>>
>>
>> |  |  |
>> Re: Clustering James 2.3
>>   |
>>
>>
>>
>>
>>
>>
>> |  |  |
>> Re: Applying JDKIM and SPF to the Mailets
>>   |
>>
>>
>>
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>For additional commands, e-mail: server-user-help@james.apache.org
>
>

RE: About database Clustering on james server

Posted by Jason Tjankilisan <ja...@yahoo.com.INVALID>.
Hey Matt,
Sorry for the long response time, I was in a nick of deadline and didn’t notice the email.

I also don’t know if james generate the ID or not, but lately I’ve been able to apply Percona Xtradb Cluster to my database. With some configuration, percona already automatically sync-up the databases in all my 3 nodes server with just some configuration. Turns out Percona was just an “extension” for a database to be able to sync with other database. Although I cant say much how im gonna handle the creation of ID, but for now its answer my question, I guess it would be for future answer.

If I can learn how the ID of the mail was made I would surely try to implement your UNIX timestamp idea, seems like a good method also.

Again, thank you for the feedback.

Sincerely, Jason

Sent from Mail for Windows 10

From: cryptearth
Sent: Saturday, August 3, 2019 12:00 PM
To: server-user@james.apache.org
Subject: RE: About database Clustering on james server

Hey Jason,

I thought again about the database sync and ID conflicts: I don't know if james generates the id or if the database does, but no matter where the id is generated it should be possible to modify it to be a unix timestamp instead of a counter. Reason: it's very unlikely that two instance in a master-slave config (that's a primary server with a backup) have a id generated at the same timestamp. This way not only a replication from master down two slave is possible but also from slave back up to the master. It would need a bit of rewrite some lines of source and the database queries - but should be doable. If I'm correct the current unix timestamp may fit in a signed integer - but long would be better.

Matt

---- Jason Tjankilisan schrieb ----

>Hiya matt,
>
>Sorry for the delay reply,
>
>Thank you for the idea. As for the workaround for the ID Conflict, that;s why I want to use Percona / Galera cluster, co-worker said that they have automated system about the conflict ID. But for starter, I will try to implement that master-slave sync to james. For the ID- Problem, some people said that : each server (example 2 server)  can only create specific number of sequence, Server 1 can only create ID 1,3,5 and so on while Server 2 can only create ID 2,4,6  and so on to avoid conflict.
>
>How things coded and how it works , detect if my server back up online and syncing up everything is still unknown to me. But at least I have an idea how things work. But im guessing firstly I have to create a custom Mailet and using javamail to send the “unsynchronized” message to all server when its back online.
>
>Thank you for the suggestion / Idea , sorry for any wrong word .
>
>Sincerely, Jason
>
>Sent from Mail for Windows 10
>
>From: cryptearth
>Sent: Friday, July 19, 2019 4:50 PM
>To: server-user@james.apache.org
>Subject: Re: About database Clustering on james server
>
>Hey Jason,
>
>it's not clustering in the multi-directional way but I use master-slave 
>sync for my setup: On my root-server my main instance run - and at home 
>my backup instance sync each night. There's this one main issue: When 
>mails get delivered to my backup at home they don't sync back up to the 
>main - and may can get lost when mails on the root already taken IDs 
>wich my backup assigned to other mails. So it's not the best to use in 
>production as ID-conflicts can happen wich only can be handled by James 
>itself. The other idea I can come up with would be to use IMAP to sync 
>the mails instead of sync the databases cause as said James has to 
>handel possible ID conflicts wich could occur when try to sync multiple 
>instances.
>
>Matt
>
>Am 19.07.2019 um 06:46 schrieb Jason Tjankilisan:
>> Halo,
>> Im curios if james can be modified to have Database Clustering. Since James can use MariaDB and Mysql.Assuming it can, is it better to choose Mysql Percona XtraDB Cluster, or MariaDB Galera Cluster? we already have 3 James server ready to be synchronized for database clustering.
>> Our team agree to implement Percona Extradb Cluster since many people said has better perfomance than MariaDB Galera Cluster,but i did want to know which suit better for james? Also considering the statement that mysql been bought by Sun and changing the license so redistributing it wouldn't be easy as before (might have to read more about this) Re: Applying JDKIM and SPF to the Mailets
>> After some reading on server-user archive, Clustering isnt available on james last time, is it available now? there's many different opinion and thought, can anybody shed some light?
>> Re: Clustering James 2.3    -> Im not really sure if this was clustering
>> Does james-ha work well?   -> using one database on mutiple james server, so i guess its the oposite of  clustering
>> Does james support cluster in order to build a mail delivery cluster? -> i want to believe the answer but there;s no further explanation
>> https://www.mail-archive.com/server-user@james.apache.org/msg15622.html   -> im guessing clustering is too heavy for james to handle?
>>
>>
>> |  |  |
>> Does james support cluster in order to ...
>>   |
>>
>>
>>
>>
>>
>>
>> |  |  |
>> Does james-ha work well?
>>   |
>>
>>
>>
>>
>>
>>
>> |  |  |
>> Re: Clustering James 2.3
>>   |
>>
>>
>>
>>
>>
>>
>> |  |  |
>> Re: Applying JDKIM and SPF to the Mailets
>>   |
>>
>>
>>
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
>For additional commands, e-mail: server-user-help@james.apache.org
>
>