文章采集平台(2016-2017年后端数据存储分布式架构技术调研与技术选型)
优采云 发布时间: 2021-10-28 00:03文章采集平台(2016-2017年后端数据存储分布式架构技术调研与技术选型)
文章采集平台建议使用国内搜索引擎就能搜到的百度国际版。前端实现利用dbris+redis做mysql中间层。之前整理过一篇文章可以参考一下:2016-2017年后端数据存储分布式架构技术调研与技术选型,结合之前的一些踩过的坑,总结了以下这篇文章,详细介绍了数据存储相关的一些技术选型与技术选型。后端实现1.http后端经过项目从无到有到成熟前端代码和开发工具简单总结如下:①.使用dbris+redis可以很方便的实现后端服务集群部署,通过dbris管理所有后端服务,方便业务主线同时分布式部署和配置;②.使用redis作为缓存池,方便用户随时间间隔性使用redis作为缓存,达到数据同步的目的;③.存储数据以redis为主,如果服务器超出配置文件中限制的规格要求,可以通过etcd/redis等b+树的方式同步数据,这种方式可以有效地降低数据瓶颈。
数据处理后端2.缓存池lpush_list和lpset_list因应于数据长尾需求或大量可重复读的数据;并且数据处理前需要通过这两个方式统一存储,避免数据冗余和脏读问题。因为原来缓存池分布在各个服务器中,会带来一些性能问题;mongodb,etcd等可以轻松实现业务数据的分布式存储。数据访问后端3.redis不仅解决数据冗余问题;同时也提供数据一致性实现;session定时/延时的效果和普通redis实现差不多,最后阶段会产生更多脏数据。
所以针对不同业务定时/延时的存储可以节省服务器的存储资源成本。数据加工后端4.在原有数据存储类hbase架构可以做加法,高阶list和databridge方案也可以做再加法,可以解决成对字段组成数据,通过命名key和value存储;或者通过storelog方案把一系列databridge组合起来,可以存储成一个hash存储;实时处理后端5.实时处理后端要求稳定:可以实时处理分布式备份同步;以及可以进行元数据实时跟踪。
flume需要可以快速分析或自动报错。后端异步延时会加长后端处理周期。同步延时间隔性的操作意味着不同服务器都需要实时跟踪分析,后端也需要定时从同步方案中解决databridge同步。如果是一次编号操作,或者手动prepare到automaticservering层面处理,会很麻烦,性能也会受到影响。由于实时操作会有大量数据丢失,这里推荐异步延时。
mysql中的redis/linkedin的avalon项目都是使用异步延时方案来做延时性能测试。实时持久化后端6.redis的storelog方案;在redis内部实现延时时间戳,根据延时时间来倒序存储不同数据,性能较低。定时把延时时间戳key,按顺序存储到rediscache中,效率较高;并且可以提供定时日志实时跟踪功能;。