有赞搜索系统的架构演进
2024.01.29 16:47浏览量:2简介:有赞搜索系统在架构上经历了从1.0到2.0的演进,以解决数据量庞大、内存资源耗尽等问题。架构2.0引入了数据总线,通过将数据变更消息同步到消息队列(MQ),再由同步应用消费这些消息来同步业务库数据。这种方式实现了与业务库的解耦,并避免了多个canal监听消费同一张表binlog的虚耗。
在有赞搜索系统的架构演进中,1.0版本的选择是基于Elasticsearch的高可用分布式搜索引擎。Elasticsearch技术相对成熟稳定,且社区活跃,因此被选作基础引擎。然而,随着业务的发展,数据量日益庞大,Elasticsearch集群面临内存资源耗尽的问题,导致集群内全部索引无法正常工作。
为了解决这些问题,有赞搜索系统在架构上进行了升级,演进到了2.0版本。架构2.0引入了数据总线,通过数据总线将数据变更消息同步到消息队列(MQ)。同步应用则通过消费MQ消息来同步业务库数据。这种方式实现了与业务库的解耦,使得业务库的变更不再直接影响搜索系统的数据同步。此外,引入数据总线还可以避免多个canal监听消费同一张表binlog的虚耗。
在架构2.0中,数据总线的引入不仅解决了内存资源耗尽的问题,还提高了系统的稳定性和可扩展性。通过将数据变更消息同步到MQ,可以有效地管理和控制数据变更的速度,避免因数据量过大导致的系统过载。同时,通过解耦业务库和搜索系统,可以独立地对两者进行优化和升级,提高了系统的灵活性和可维护性。
在有赞搜索系统的架构演进中,我们不仅解决了实际问题,还积累了宝贵的经验。我们意识到,随着业务的发展,数据量将会持续增长,因此需要考虑如何有效地管理和利用内存资源。同时,我们也意识到解耦系统的重要性,通过解耦可以降低系统间的耦合度,提高系统的可维护性和可扩展性。
总的来说,有赞搜索系统的架构演进是一个不断优化和改进的过程。通过引入数据总线等创新性的技术方案,我们成功地解决了内存资源耗尽等问题,提高了系统的稳定性和可扩展性。未来,我们将继续关注技术的发展趋势,不断优化和改进有赞搜索系统的架构,以满足日益增长的业务需求。

发表评论
登录后可评论,请前往 登录 或 注册