sqlite c++插入 timestamp_Dqlite,基于sqlite 高可用(HA)数据库
noosphere.site: Dqlite,基于sqlite 高可用(HA)數(shù)據(jù)庫
csdn : Dqlite,基于sqlite 高可用(HA)數(shù)據(jù)庫
k3s之前的multi-master的支持 Mysql, PostgreSql, etcd 這3個方案,現(xiàn)在正在實驗一個內(nèi)嵌的multi-master方案,使用一個sqlite的HA版本-dqlite,dqlite-顧名思義,distibution sqlite,以后穩(wěn)定的話,可能會成為官方推薦的HA方案。
Dqlite用主要做了幾個事情:
應(yīng)用程序直接調(diào)用一個單節(jié)點的sqlite實例
使用dqlite,則是這樣的
應(yīng)用程序不直接操作sqlite的接口,調(diào)用的是dqlite提供的接口,dqlite通過c-raft來保證數(shù)據(jù)一致性和容錯行
目前官方提供了一個go的binding, 可以直接在go里使用dqlite的接口
作者有一個demo的演講,演示了一個go寫的分布式氧飽和度檢測儀的例子
這段代碼很簡單,模擬插入氧飽和度的數(shù)據(jù),然后提供一個http接口查詢平均飽和度返回給調(diào)用者
其中g(shù)etDatabase方法,如果用單實例的sqlite,它是這樣的:
如果用dqlite變成這樣
startEngine實際上是調(diào)用dqlite的接口創(chuàng)建一個新的dqlite節(jié)點
然后調(diào)用dqlite client這個接口連到集群
往sqlite的存儲層注入一個dqlite定制的driver
可以看到,用go來使用這HA方案,還是挺方便易用。
目前k3s的dqlite HA版本目前還是實驗狀態(tài),不要在生產(chǎn)環(huán)境使用,還有一些問題,比如:
- cpu使用率高
- 第一個啟動的節(jié)點如果崩潰了,leader選舉不出來
總的來講,這個k3s的嵌入式HA方案還是非常值得期待,畢竟在IOT這種蠅級設(shè)備里面包mysql或者etcd這種程序還是有點太重了
參考:
隨手點個贊吧
要不關(guān)注一下公眾號"智圈云"
總結(jié)
以上是生活随笔為你收集整理的sqlite c++插入 timestamp_Dqlite,基于sqlite 高可用(HA)数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为平板能运行python吗_我是如何使
- 下一篇: python mainloop bind