zombodb 关于索引的几个问题
es 数据丢失(误删)
- 现象
此情况下,通过zombodb dsl 方式查询会有异常,数据库sql 模式没问题(数据库数据在) - 解决
需要重建索引,命令REINDEX index <indexname>
es 故障(服务不可用)
- 现象
通过zombodb dsl 查询会有一样,同时数据的insert 也会有问题(因为需要写索引数据) - 解决
可以临时修改索引到一个可用的服务,重建索引,命令
ALTER INDEX <indexname> set (url='http://admin:admin@elasticsearch2:9200/');
REINDEX indexindexname;
或者就是等待集群起来,对于比较庞大的数据索引来可能是灾难性的
说明
如果系统需要比较高的可用性,如果使用zombodb还是需要做好比较完备的灾备方案,比如保证
es 的高可用,同时对于系统的query 以及insert 同时做好完备的监控,以及服务降级的处理方案,比如:
- 查询故障,可以快速失败,同时切换到基于数据库的查询
- insert 操作,根据系统的故障级别,以及需要的时间,可以先cache,等待恢复,或者触发阈值之后,自动切换备用。。。
参考资料
https://github.com/zombodb/zombodb/blob/master/INDEX-MANAGEMENT.md