構想 - japankun/bbs.jpnkn.com GitHub Wiki

長期的な目標

中期的な目標

バックエンドをMQTTベースに変えたい。

なぜ?単一サーバーPHP+Apache+Nginx構成では限界があると思っている。

HTTP/HTTPSを処理するフロントエンド、つまり読み出しの性能はリバースプロキシやロードバランサーで余裕を作ることができる。ではバックエンドサーバーも簡単に増やせるかというと、現在はマスターデータがローカルファイルシステムを利用しているため制約が生じ、分割ができない状態になっている。

現状から性能をスケール可能にするには根本的な解決が必要であり、基幹部分をMQTTに置き換えるのが適当だと考える。HTTP/HTTPSの読み込み部分は何らかのファイルシステムを経て読み出し、書き込み部分は処理した内容をMQTTサーバーに投げることで性能の余裕を簡単に作れる。2chの考えで言うところのbbs.cgi/bbsdのような関係性。

  • MQTTで受信した書き込みデータをS3のようなファイルシステムに保存する。
  • 保存した書き込みデータはフロントがS3のようなファイルシステムから読み出す。
  • HTTP/HTTPSのフロントエンドにロードバランサーを入れる。
  • MQTTサーバーは[0-9]{1}.mqtt.jpnkn.comのようにする。
  • これで全部重いみたいな自体が避けれると思う。