• Carla
    2022-05-12
    约定的多了,怎么感觉反而变得麻烦了😂

    作者回复: 讲真,而且很容易出错,排查起来还不容易 :)

    
    5
  • 曹亮
    2022-06-17
    老师,请教一下,在微服务项目中Stream和mq结合使用,和直接在服务里将消息发送到mq,这两种有什么区别?用stream的优势体现在哪里?

    作者回复: 直接发送mq可以理解为JDBC,使用Stream可以理解为在jdbc上卷了一层JPA,后一个比前一个卷,造轮子哈哈 回到MQ来看的话就相当于Stream在底层中间件之上做了一层spring-integration的抽象,屏蔽了底层细节。

    
    4
  • 密码123456
    2022-05-25
    感觉,这配置好难。配了好几天都没有配好。

    作者回复: 世上无难事,只要肯放弃。同学直接用我的源码吧:)

    
    1
  • wake
    2022-02-22
    老师如果我其它方法名也叫addCoupon会被误认为消费者吗?或者说只有返回值为Consumer才会被认定为消费者,那如果有两个同样的返回Consumer的addCoupon方法呢

    作者回复: 其实和返回值关系不大,Consumer只是函数式编程的一种实现方式,还有其他方式比如Flux、Supplier。如果方法重名,我印象中是遵循先来后到,后初始化的bean对应的consumer优先生效。同学可以本地试一下,回头告诉我们答案哈

    共 2 条评论
    1
  • zkr
    2022-07-26 来自上海
    为啥生产者发消息,消费者接受消息不用指定队列名和routing key?队列这个我还能理解,我试了下是按topic名+group名自动生成了一个,但是为啥topic模式不用指定routing key?

    作者回复: routing key也可以在配置中指定,后面做消息分区的时候这部分有讲,如果需要定制的话可以参考

    
    
  • 奔跑的蚂蚁
    2022-02-24
    试了下spring-cloud-starter-stream-rocketmq 的 function binding 第一次发送消息会报日志 DefaultBinderFactory : Retrieving cached binder: rocketmq DirectWithAttributesChannel : Channel 'unknown.channel.name' has 1 subscriber(s). BeanFactoryAwareFunctionRegistry : Looking up function 'streamBridge' with acceptedOutputTypes: [application/json] .MessagingMethodInvokerHelper : Overriding default instance of MessageHandlerMethodFactory with provided one. 这些都正常嘛

    作者回复: 这几行日志没看到报错信息,应该是INFO log,如果有Error可以把完整log trace发出来一起看下

    共 2 条评论
    
  • 奔跑的蚂蚁
    2022-02-18
    我们项目用了spirng.cloud.stream.rocketMq 出了异常是自动重试,老师能讲讲原理嘛 能自定义重试间隔是次数嘛(是不是mq里面配置的)

    作者回复: 重试策略(次数+每次重试间隔)会在后面的一节课程里单独讲到,应该快上线了

    
    
  • peter
    2022-02-18
    请教老师几个问题: Q1:消费者标识是否可以不用方法名,另外指定一个? Q2:“采用了 Consumer 的实现方式”,“添加消息消费者”部分的这句话中,consumer的实现方式是指什么?笔误吗? Q3 :“return request -> ”,request从哪里来? CouponConsumer类中,addCoupon方法中直接用了request,此request从哪里来的? Q4:配置文件中,binders下面的my-rabbit,这个名字是任意的吗? 如果有多个,其他的也要起一个不同的名字吗? 比如my-rabbit2, my-kafka等 Q5: 交换机和队列是怎么对应的? A 两个交换机,两个队列,每个交换机都可以将消息发送到两个队列吗? B 队列的名字,用点号分成两部分,有什么含义吗?

    作者回复: Q1:不走寻常路是可以,但是失去了约定大约配置的意义 Q2:Consumer是函数式编程的一种方式 Q3:函数式编程语法,建议先找一些开源资料熟悉下语法 Q4: 任意名字 Q5:交换机和队列之间可以建立绑定关系,官网的帮助文档里有详细信息https://www.rabbitmq.com/documentation.html

    共 2 条评论
    
  • kimoti
    2022-05-06
    消费消息发生异常,消息重新进入队列重新消费
    
    