引言
随着业务系统数据量不断的增大,对于很多的列表查询和排序是非常慢的,同时还包括一些统计功能,为了解决以上问题,我们在原有的架构上面引入了ES来解决这个问题,得到了很好的效果。
1、设计流程图
从上面可以看出,我们把搜索做成了一个单独的服务,然后通过dubbo和业务业务系统相关联,其中我们用redis充当了我们的缓存队列,用定时任务定时更新。
小结
当然一种新的技术引进的时候,也可能会带来新的问题,这种选择需要我们根据业务需求来掌握,当我们引入ES以后出现了一个问题是,更新延迟的问题,也就说我们在页面上一次性更新大量的案件信息,这时候可能会导致页面信息不能及时刷新,因为定时任务是100ms扫描一次,这个地方会有延迟,es重建索引也是比较耗时的,但是这种大规模的操作在我们业务系统中是不会频繁出现,当然我们在后台和前台交互上也做了一定的延迟处理,从效果上来看还是很不错的。
在后面的博文中将上面整个实现方案进行总结以及代码实现,希望对读者有一定的帮助!