在生产使用elasticsearch作为唯一存储源
对系统进行架构设计后,需要把es当做唯一存储源,记录下其中踩到的坑:
1,首先es不支持事务,所以在架构设计的时候一定要考虑这一点。
特别的,es在生产环境一般不允许使用脚本,更新操作都是在业务Java系统内存中去更新,然后再刷新到es数据库,所以当多个线程并发修改时,只会有最后一条更新成功(其实其他的线程也更新成功了,只是被最后一个线程覆盖了),解决办法是上接口的调用者加分布式锁,或者把请求放到保证串行的消息队列(比如kafka的同一个分区)
2,es不支持动态修改mapping,在做具...
原创
2021-09-14 15:33:40 ·
842 阅读 ·
0 评论