首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使异步消息在同步环境中快速可靠?

如何使异步消息在同步环境中快速可靠?
EN

Stack Overflow用户
提问于 2021-09-30 21:16:26
回答 1查看 35关注 0票数 0

我有一个后端API应用程序,它完成它的工作并生成一些偶数数据,这些数据可以异步卸载。它主要通过RESTful接口发送到服务,比如SQS、Elasticsearch,我们自己的服务(也是异步的,但在HTTP后面)。App是PHP,所以作业不能在另一个线程中卸载--整个进程在响应后就会终止,客户端必须在数据被发送到远程服务时等待。

问题是,在此设置中,数据传输至少一次是不可靠和缓慢的。例如,SQS通常以错误响应,它需要在请求生存期内进行重试。最重要的是,它比它可能的速度慢,有时没有足够的重试来成功(一些数据丢失)。

我在考虑一个服务代理:一个简单的守护进程,它和应用程序一起被放入了docker容器中,因此运行在同一台主机上。这个本地守护进程将以某种方式接受来自应用程序的有效负载,然后进行通信和重试。我知道有些软件是这样工作的,但是是否已经存在一些更普遍的东西,比如专门的代理?还是有什么技术来处理这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-10-20 00:58:32

如果您的API有一个数据库,那么请查看发件箱模式。即使该模式的主要目的是确保分布式系统中的数据一致性,它也允许您卸载发送给其他工作人员的消息。在这段视频中,Udi Dahan很好地解释了它的工作原理。我不擅长PHP,所以不知道PHP解决方案的存在,但值得在这个方向上进行检查。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69400759

复制
相关文章
Cython初识
python作为一门强大的脚本语言,优势自然不必说。但是,当我们的模型较复杂,运算量较大的时候,python的短板就会出现,就是运算速度慢。当然,解决这一问题有很多方法,比如pypy的jit技术,但是抛开稳定性不提,使用pypy有很多限制,而且不是那么工程化。所以,向大家介绍Cython,方便将别的应用场景中的一些重计算的部分单独取出来,然后用Cython改写,独立成模块来提高运算速度。
种花家的奋斗兔
2020/11/13
8780
Cython入门
setup这一年也是遇到了很多次,随着python编程学习的不断深度对于python的了解也不断在增加,这里做一次简单的小节。
狼啸风云
2019/11/03
2.1K0
cython编译错误
running build_extskipping ‘bbox.c’ Cython extension (up-to-date)skipping ‘nms.c’ Cython extension (up-to-date)building ‘cython_bbox’ extension{‘gcc’: [’-Wno-cpp’, ‘-Wno-unused-function’]}gcc -pthread -B /home/gsadhasivam/anaconda3/envs/r3det/compiler_compa
狼啸风云
2021/01/05
1.5K0
Python中的cython介绍
Cython是一种用于将Python代码转换为C或C++代码的编译器。它是Python和C/C++之间的一种桥梁,可以提供更高的执行效率和更好的性能。Cython既是一种编程语言,也是一种编译器,它可以将Python代码转换为C或C++代码,并在编译时将其转换为机器码,以提高代码的执行速度。
大盘鸡拌面
2023/10/12
6940
关于Java 线程的运行状态
首先需要说明的是,所指状态为JVM线程状态,而非操作系统线程状态。同一时间,一个线程只会存在于一种状态。
WindWant
2020/09/10
5960
查看crontab运行状态
cron服务是linux的内置服务,但它不会开机自动启动。可以用以下命令启动和停止服务:
全栈程序员站长
2022/07/08
4.8K0
图片批量重命名编号不带括号的_批量重命名不带括号
如果你是一名摄影工作者,那么你的电脑里肯定会保存很多的图片,为了更好的整理和保存这些图片,比如一类主题的图片以相同文字命名并且编号,这样就方便以后查找了,解决办法有了,那么怎么给这么多图片命名并编号呢?
全栈程序员站长
2022/10/03
1.4K0
图片批量重命名编号不带括号的_批量重命名不带括号
用Cython加速Python代码
要在我们的笔记本中使用Cython,我们将使用IPython magic命令。Magic命令以百分号开始,并提供一些额外的功能,这些功能可以增强工作流。通常,有两种类型的Magic命令:
hankleo
2020/09/17
6280
查看 ceph 的实时运行状态
[root@node1 ~]# ceph -w cluster: id: 97e5619b-a208-46aa-903b-a69cfd57cdab health: HEALTH_OK services: mon: 3 daemons, quorum node1,node2,node3 mgr: node1(active) osd: 36 osds: 36 up, 36 in data: pools: 4 pools, 896 pgs objects: 22.97 k objects, 88
院长技术
2020/06/13
1.4K0
[linux] 进程五状态模型
运行态:该进程正在执行; 就绪态:进程做好了准备,只要有机会就开始执行; 阻塞态:进程在某些事件发生前不能执行,如I/O 操作完成; 新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。通常是进程控制块已经创建但还没有加载到内存中的新进程; 退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
唯一Chat
2019/09/10
8880
[linux] 进程五状态模型
SpringBoot运行状态监控Actuator
目标:使用监控Actuator 工具:IDEA--2020.1 学习目标:框架工具集成 本次学习的工程下载链接放到文本最后面
背雷管的小青年
2020/06/08
1.3K1
SpringBoot运行状态监控Actuator
Cython入门到放弃(二)
上一篇文章讲了Cython的使用流程,没有具体展开讲别的,例子也很简单。今天首先使用一个官方文档上使用Cython的例子,然后抛出几个连续的小demo,看看Cython是如何一步一步加速的。
钱塘小甲子
2019/01/28
8310
Cython入门到放弃(一)
        python作为一门强大的脚本语言,优势自然不必说,目前中低频的量化投资基本都是使用python作为research和production作为语言。但是,当我们的模型较复杂,运算量较大的时候,python的短板就会出现,就是运算速度慢。
钱塘小甲子
2019/01/28
3K0
编译成功了,运行为什么会失败_cython编译python
最新的caffe2 已经移到pytorch中去了,直接下载其中的代码然后按照官方教程就可以了。
全栈程序员站长
2022/11/17
8570
批量运行多个R脚本并打印运行状态
曾老师曾经有一篇推文《批量运行多个R脚本》,介绍了批量运行R脚本的思路,同时也提出了一些问题,今天就这个学徒作业,我们来探究一下。
小汪Waud
2023/02/20
9360
批量运行多个R脚本并打印运行状态
Kubernetes 上运行有状态应用的最佳实践
在过去的几年间,社区意识到在容器中运行有状态工作负载的价值,而且像 Kubernetes 这样的编排器引入了必要的特性。
深度学习与Python
2022/06/13
9960
Kubernetes 上运行有状态应用的最佳实践
免费的网站运行状态监控工具——UptimeRobot
这是我利用UptimeRobot搭建的网站状态监控站:https://status.wlplove.com
知识分子没文化
2023/07/01
5.2K0
免费的网站运行状态监控工具——UptimeRobot
Transformer大模型的运行原理
Transformer是谷歌研究院在2017年提出的一种重要的神经网络结构,目前已广泛应用于自然语言处理领域。它的主要运行原理如下:
疯狂的KK
2023/06/20
1.8K0
Pod运行的状态及排障方法总结
Pod 状态说明 pod的几种状态: ContainerCreating: Pod创建已经提交给了k8s,但是因为集群组件异常,导致容器创建出现问题。 Init:0/3: PodInitializing: Pending:Pod创建已经提交给k8s,但是因为某种原因不能顺利创建,例如下载镜像慢,调度不成功等。 CrashLoopBackOff: Running:Pod已经绑定到一个节点上了,并且已经创建了所有容器。只是有一个容器正在运行,或者在启动中。 Secceeded:Pod中的所有容器都已经成功终止
mikelLam
2022/10/31
1.3K0
点击加载更多

相似问题

不带模型的表单

11

如何使用Cython运行pybench

28

如何使cython变量保持活动状态?

10

不带命令行的Cython标志(生成带黄色阴影的-a

132

使用cython运行pytest -如何在pytest中编译cython模块?

11
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文