帖子中心,1亿数据,架构怎样规划?

一个用户可以发布多个帖子,一个帖子只对应一个发布者。

任何脱离业务的架构设计都是耍流氓,先来看看帖子中心对应的业务需求。

帖子中心,是一个提供帖子发布,修改,删除,查看,搜索的服务。

帖子中心,有什么写操作?

  • 发布(insert)帖子;
  • 修改(update)帖子;
  • 删除(delete)帖子;

帖子中心,有什么读操作?

  • 通过tid查询(select)帖子实体,单行查询;
  • 通过uid查询(select)用户发布过的帖子,列表查询;
  • 帖子检索(search),例如通过时间、标题、内容搜索符合条件的帖子;

在数据量较大,并发量较大的时候,架构如何设计?

典型的,通常通过元数据与索引数据分离的架构设计方法。

架构中的几个关键点,如上图所示:

  • tiezi-center:帖子服务;
  • tiezi-db:提供元数据存储;
  • tiezi-search:帖子搜索服务;
  • tiezi-index:提供索引数据存储;
  • MQ:tiezi-center与tiezi-search通讯媒介,一般不直接使用RPC调用,而是通过MQ对两个子系统解耦。

此时,读需求怎么满足?

tiezi-center和tiezi-search分别满足两类不同的读需求。

如上图所示:

  • tid和uid上的查询需求,可以由tiezi-center从元数据读取并返回;
  • 其他类检索需求,可以由tiezi-search从索引数据检索并返回;

写需求怎么办呢?

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章