贴近项目场景的回答

回答逻辑:是什么,用来干什么?为什么要用它?它的细节?它的优缺点?它和其它类似的关系?

1.dubbo + zookeeper
项目里使用dubbo都干了什么?有什么作用?
dubbo是一个分布式服务框架,所以整个系统都使用了这个dubbo,比如我们负责的是订单模块的开发,也就是分布式中的订单服务。和别的服务进行交互,也都使用的dubbo,因为它也是一个rpc框架。它的作用就是协调分布式中各个服务,理清调用关系等功能。

zookeeper作为dubbo的注册中心,ZK可以用来管理和维护服务提供者的列表,实现服务提供者和消费者在注册中心对服务的注册和订阅功能。

2.redis
项目里使用redis都干了什么?有什么作用?
主要用来作为订单服务与数据库之间的缓存,通过缓存大大降低数据库的负担,提高并发能力。

3.solr
项目里使用solr都干了什么?有什么作用?
使用solr作为全文检索工具,通过自己的索引库来实现某种茶商品的快速搜索

4.ActiveMQ
项目里使用ActiveMQ都干了什么?有什么作用?
我们使用activeMQ进行了流量削峰,因为我们会做一些促销活动,所以那个时候并发量是非常大的,比如很多人买了东西,生成了非常多订单数据。如果不使用消息队列的话,数据库一直写入,承担不了会崩溃。
用了消息队列后,会在并发量很大的时候,会把海量消息情求放到MQ中,然后数据库从队列中读消息,以它能承担的速度进行执行。这样就达到了流量削峰的作用。

还是使用activeMQ进行了关系解耦(索引库同步,商品服务与搜索服务之间),在商品服务(不是我做的)中每当添加一个商品后,需要同步到solr的索引库,这时如果在商品服务逻辑里添加商品后试添加到索引库逻辑(实现应该是通过rpc来实现),这样的话就把商品服务搜索服务耦合到一起了。如果引入这个MQ,当需要商品索引同步时,商品服务给MQ发一个消息,然后当搜索服务感知到后,就从MQ里拿到这个消息,在这个搜索服务完成索引同步。这样功能既实现了,而且也降低了耦合程度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值