5 3 時間一致性

2021-09-22 18:59:39 字數 1404 閱讀 9280

經常會因為每個伺服器的時間不同,導致插入資料有問題,雖然可以採用ntp服務同步時間,但由於各種因素仍然會出問題,怎麼解決?我建議以資料庫時間為準。

mysql 5.6 之前的版本

預設值為當前時間

create table `tdate` (

`id` int(11) not null auto_increment,

`ctime` timestamp not null default current_timestamp comment '建立時間',

`mtime` timestamp not null default '0000-00-00 00:00:00' comment '修改時間',

primary key (`id`)

)collate='utf8_general_ci'

engine=innodb;

mysql不允許乙個表拿有兩個預設時間。我一無法兼顧修改時間,我們捨棄建立時間,當有資料變化on update current_timestamp自動修改時間

create table `tdate` (

`id` int(11) not null auto_increment,

`ctime` timestamp not null default '0000-00-00 00:00:00' comment '建立時間',

`mtime` timestamp not null default current_timestamp on update current_timestamp comment '修改時間',

primary key (`id`)

)collate='utf8_general_ci'

engine=innodb;

插入建立時間 insert into tdate(ctime) values(current_timestamp); 不要採用 insert into tdate(ctime) values('2013-12-02 08:20:06');這種方法,盡量讓資料庫處理時間。

mysql 5.6 之後版本,可以實現建立時間為系統預設,修改時間建立的時候預設為空,當修改資料的時候更新時間。

create table `tdate` (

`id` int(11) not null auto_increment,

`ctime` timestamp not null default current_timestamp comment '建立時間',

`mtime` timestamp null default null on update current_timestamp comment '修改時間',

primary key (`id`)

)collate='utf8_general_ci'

engine=innodb;

強一致性 弱一致性 最終一致性

這種方式在es等分布式系統中也有體現,可以設定主shard提交即返回成功,或者需要replica shard提交成功再返回。提到分布式架構就一定繞不開 一致性 問題,而 一致性 其實又包含了資料一致性和事務一致性兩種情況,本文主要討論資料一致性 事務一致性指acid 複製是導致出現資料一致性問題的唯...

一致性雜湊

直接貼出一篇介紹的很清楚的博文。關鍵字一致性雜湊 平衡性,單調性,分散性,負載 其實說白了,就是解決把請求分散到不同的機器上運算,怎麼做分散的平均,機器少一台多一台,或者壞掉一台,成很好的自適應和拓展。最簡單的實現分布式演算法,取模嘛,但是它就上述的一些問題,所以不算好的雜湊函式。一致性雜湊演算法,...

一致性雜湊

from 學習分布式,一致性雜湊是最最基礎的知識,所以要理解好.那什麼是一致性雜湊呢?what 1.平衡性是指 hash的結果應該平均分配到各個節點,這樣從演算法上就解決了負載均衡問題.2.單調性是指 在新增或者刪減節點時,同乙個key訪問到的值總是一樣的.3.分散性是指 資料應該分散的存放在 分布...