gunicorn flask启动没有多个worker_flask线程 / web短链接

    问题是这样的:开始有一个功能因为处理流程比较复杂,中间需要对接其他平台,自然在整个访问的稳定性以及访问延迟难以保障,甚至还会出现http连接错误,已经导致服务变慢,其他服务也受到影响不能正常稳定提供服务。此外在高并发下,这个功能业务是需要在同一事务执行。

    我认为这个服务可以解耦合,情况比较紧急,所以我起草了一个方案提交通过之后就开始动手了。首先我把这个功能的承载业务的入口和返回结果的出口函数给分离开,使用kafka作为队列保存业务信息,用户提交信息既可。kafka队列实时监听,获取到消息之后就开始处理业务函数保证一个事务一个锁执行。后台处理也可以允许更长时间的轮询。但是这里我把消费者与生产者放到一个服务中,原本不会有问题,在测试环境一切正常。为保证稳定性,我自己还做了一下压力测试,显示正常稳定。

    于是,上线开始服务,问题出现了。消费者开始工作了一会儿,没有消费了,kafka待消费数量开始上涨,这个情况开始出现一刹那,就感觉不对。于是,查看代码,添加检索日志,更新在测试环境,测试环境依旧没有问题。上传代码,上线,最后加一句关键的sleep(0.03)(kafka python 启动蜜汁操作)。查看后台kafka数据,果然开始又开始消费了,比之前好一些,从之前断开的偏移量开始,数据没有丢失,也没有重复消费。但是,一个时间点消费到零之后,消费者不消费了,处于一个假死状态。

   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值