我相信每一个工程师都会有自己心中的架构之路,无论你从事过什么样的产品项目开发,系统总是会有自己的架构, 在产品生命周期过程中,架构也是会随之慢慢演进,改善的,而不可能一步到位,特此用一篇文章来记录自己所感, 可能有些凌乱,但会慢慢改进。
搜索作为一个站点比较基本的功能,通常是不太可能直接查询数据库, 特别是用户相关的系统,我们通常会先将需要查询的数据建立索引,在查询时,只需到索引库中进行查询,一旦建立了索引, 就应该想到什么时候更新索引,特别是一些比较实时的业务数据等。当然,不是只有需要搜索的数据才能使用搜索技术, 前台大部分数据库都可以使用搜索技术,这不仅减小数据库的压力,也会使得系统查询能力得到很大提升。常用的搜索实现有 Lucene, Solr, ElasticSearch(推荐)。