一、现有问题
对于历史遗留项目或者老项目的改造,新需求是要适应越来越庞大的数据量,而且要求秒级响应:
1. 老项目用的技术都是10年前的老技术,继续做二开,开发和维护都很高,就比较为难了
2. 推倒重来,领导似乎还没有这么大的魄力。
3. 怎么办?怎么办?怎么办?
4. 头都大了一圈。。。。。。
二、解决思路
1. 采用妥协的方法:不上大数据技术,保留原有系统技术稳定性,减少采用大数据技术后,与老项目的交互、联调、测试等一系列排期。
三、技术方案
1. 用 Elasticsearch 这种适用于大数据的数据库来存部分特别大的数据,既保证了原有项目技术架构不做较大改动可能引发的一系列问题,又保证了较快的时间交付
2. Elasticsearch 是一个分布式、高扩展、几乎实时的搜索与数据分析引擎。能非常方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值
3. Elasticsearch 的实现原理: 首先将数据提交到 Elasticsearch 数据库中,再用分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据。在用户搜索数据的时候,根据权重将结果排名,并进行打分,再将返回结果最终呈现给用户