0

ポート 8080 で待機している Python Flask リスナーがあります。クライアントがドキュメントをこのリスナーに POST することを期待しています。

#!/usr/bin/env python2
from __future__ import print_function
from flask import Flask, request
from flask.ext.cors import CORS
from datetime import datetime
import os, traceback, sys 
import json
import os

app = Flask('__name__')
cors = CORS(app)

@app.route('/',methods=['GET','POST','OPTIONS'])                                                                                                                                         
def recive_fe_events():
    try:
        data = request.get_data()

        if request.content_length < 20000 and request.content_length != 0:
            filename = 'out/{0}.json'.format(str(datetime.now()))
            with open(filename, 'w') as f:
                 f.write(data)

            print('Wrote', filename)
        else:
            print("Request too long", request.content_length)
            content = '{{"status": 413, "content_length": {0}, "content": "{1}"}}'.format(request.content_length, data)
            return content, 413 
    except:
        traceback.print_exc()
        return None, status.HTTP_500_INTERNAL_SERVER_ERROR

    return '{"status": 200}\n'

if __name__ == '__main__':
    app.run(host='0.0.0.0',debug=False,port=8080)

POSTこのサーバーは、POST メッセージをリッスンしてデコードし、ファイルにダンプすることができます。ただし、メッセージの頻度が非常に高くなる可能性があるという懸念があります。このアプリケーションをスケーラブルにする方法を考えています。最善の方法は何ですか。フロントにロード バランサを実装し、ポートでリッスンしてから、8080複数のリスナー間でトラフィックを分散しますか。たとえば。808180828083

4

0 に答える 0