需要给kafka,xxl-job,rabbitmq单独出一个服务吗?
最近再纠结要不要给kafka单独出一个服务A,其它服务调用服务A然后服务A和kafka连接。xxl-job,rabbitmq同理。
如果需要单独出一个服务,这样做的好处和弊端是什么呢?
如果不需要单独出一个服务,这样的好处和弊端又是什么呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
优点可能就这么点了,确实感觉得不偿失
单独出一个服务的话,你的其他服务就可以不用依赖MQ的SDK了,以后如果要更换MQ的话,对业务影响也不大,另外如果有其他语言要接入MQ,不会出现没有SDK的问题,总的来说这些优势都没什么卵用
说实话,你这几个东西,我们都是直接在业务服务中整合原生sdk,直接访问的。都没有必要搞多一个服务出来,如果后面有一些业务需要这些中间件的一些特殊功能,你这么搞单独的服务,两边都要修改。
你服务能吧mq 打到压力的时候,本身服务就要扩容了。。mq就是用来沉压的,你看秒杀几个不是进到mq 慢慢处理。
嗯,是这么个道理,那xxl-job应该一样吧,没必要再出个单独服务
人家好好的分布式无单点,然后你的服务成单点了
mq和kafka不单独出个服务怕压力大,多一级网络调用,这个能理解。也能理解如果是自己写的job模块可能需要实现运行、停止、修改等功能,所以单独出个服务。但是xxl-job框架已经提供了定时的停止、运行、修改,表达式配置等功能,如果单独出个服务,只是简单和xxl-job做一个连接,不写业务只起到转发的一个作用,是不是也不用单独出个服务,没理解复用是在哪个方面。
回复
xxl-job 本身就是一个服务了,你就可以当成你们系统中的一个子服务,这个服务就专门做定时任务,为何要放到其他服务里面?你其他任务里面用到定时任务,只要写你的逻辑,xxl-job 的服务专门用来做调度即可,你还可以对xxl-job 进行集群化部署。故而,xxl-job服务端本身就是一个完备的,解耦的服务,不需要集成到其他服务里面,其他子服务用到只写业务即可
xxl-job要单独出来,因为可以复用,而其他的,并不需要,根据实践,mq很大程度上都是和业务密切相关,而且用到mq,往往压力比较大,还走一遍openfeign 划不来,kafka看你们的业务,业务强相关的就别独立了,都是给自己找事情