两个问题

来源:14-6 【总结与作业】关于广告系统可用性测试的介绍及说明

慕莱坞6507431

2021-03-07

  1. 为什么要先从sponsor模块导出数据库数据search模块再读取呢?直接在search模块启动的时候search去调sponsor的服务查数据库不就能构造索引对象了吗?
  2. 为什么要监听binlog?广告主调sponsor服务修改广告数据时,sponsor模块用消息队列发消息通知search模块更新索引对象不也能实现索引对象的修改吗?
写回答

1回答

张勤一

2021-03-07

同学你好:

    (1)我们的服务在上线之前,肯定会有广告数据已经事先录入到数据库里去了,这些数据可能量级相对来说比较大,如果直接从数据库中加载,无疑会给数据库带来瞬时压力,且我们的服务启动过程也会受阻。从文件中读取,直接构建索引是最好的方式;

    (2)监听 Binlog 能够实现 sponsor 服务与 search 服务之间的解耦,也就是这两个服务之间不存在任何的依赖;如果使用消息队列,由 sponsor 修改的地方去发送,可想而知,如果实现要做改动,sponsor 整个模块内部会有多少代码需要修改,这无疑是不可接受的工程实践


    我是勤一,欢迎随时找我!

1
1
慕莱坞6507431
监听binlog确实是完全解耦了 但是用消息队列其实耦合程度也不算高吧? 消息队列实现起来简单很多,不过以学东西为主那当然还是要监听binlog的吧 这是我的一点理解?
2021-03-09
共1条回复

Spring Cloud微服务架构 设计实现广告系统

广告营销系统,未来大中型企业的标配

2136 学习 · 927 问题

查看课程