我正在用Django开发一个微服务体系结构,其中服务通过restfulapi彼此通信。在
来自客户端的请求由服务提供服务,然后服务需要向另一个服务发出新的(嵌套的)HTTP请求,如下图所示,以保持服务之间的解耦。在
在这种情况下,可能会发生两个不同的请求由客户端触发,并由第一个服务同时提供服务。然后,对第二个服务的两个嵌套请求中的一个将保持未服务状态,直到发生503错误(服务不可用)。 服务器似乎无法处理嵌套请求之间的并发性。在
restfulapi是用Django REST框架实现的,嵌套请求是用Python请求库生成的。下面是一个例子:
from rest_framework.views import APIView
import requests
class FirstServiceView(APIView):
def get(self, request, format=None):
# Code...
# The nested requests to the second service
response = requests.get("http://127.0.0.1:8000/second_service/")
# Other code...
值得注意的是,这种行为在Django和Apache的开发服务器上都会发生。此外,本例中不涉及数据库上的并发。在
目前没有回答
相关问题 更多 >
编程相关推荐