我创建了一个使用zmq(messaging)与客户端进行通信的服务器。它基本上是一个使用消息传递而不是http的api。我正在使用协议缓冲区来序列化消息。
A message is like this:
Request: "CreateProject"
ProjectName: "ProjectName"
Data: Related binary data with the project
现在是问题所在。我的数据库层有点脆弱,我不确定将来是否能很好地适应数据库的更改。我正在使用sqlite作为文档存储。
最近,我不得不创建一个使用django的Web应用程序,我爱上了它。我想将我的应用程序移植到django,但是我不想放弃协议缓冲区,因为我正在处理大量的多文件上传/下载。
我发现客户端将只能使用POST(或者可能是PUT?)将二进制消息发送到我的服务器并返回。那是怎么回事?
基本上,我所有的视图都可能像这样:
def Someview(request):
if request.POST:
# Deserialize request.POST
# process request here
# send serialized binary protocol buffer response back
我做了一些研究,但找不到有关该主题的任何信息。