Dear hackers,
> Though this provides a way for users to control values required for
> conflict resolution, I prefer a simple approach at least for the first
> version which is to document that users should ensure time
> synchronization via NTP. Even Oracle mentions the same in their docs
I researched some cloud services and found that the time-sync services on the
cloud are integrated with the NTP or PTP direct connection. This means that there
are no specific APIs to synchronize the machine clock. Based on that,
I also agree with the simple approach (just document). I feel the synchronization
can be regarded as the low-layer task and can rely on the OS.
The below part shows the status of cloud vendors and Oracle.
## AWS case
AWS provides a "Time Sync Service" [1] that can be used via NTP. The source server
is at 169.254.169.123; users can modify the configuration file to refer to it shown below.
```
server 169.254.169.123 prefer iburst
```
Or users can even directly connect to the local and accurate hardware clock.
## GCP case
GCP compute engines must use an NTP server on the GCP cloud [2], located at
metadata.google.internal, or other public NTP servers. The configuration will
look like this:
```
server metadata.google.internal iburst
```
## Oracle case
Oracle RAC requires that all participants are well synchronized by NTP.
Formally, it had an automatic synchronization feature called "Cluster Time
Synchronization Service (CTSS)." It is de-supported in Oracle Database 23ai [3].
[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-ec2-ntp.html
[2]: https://cloud.google.com/compute/docs/instances/configure-ntp
[3]:
https://docs.oracle.com/en/database/oracle/oracle-database/23/cwlin/server-configuration-checklist-for-oracle-grid-infrastructure.html
Best regards,
Hayato Kuroda
FUJITSU LIMITED