makotan _at_ gmail dot com

TCPが人類に早すぎるのでは説

いんたーねっとを使う上では避けて通れないTCP/IPを人類が理解して使うのは早すぎるのでは?ってよく思ってる

 

実際には存在してないコネクションの概念

論路的にTCP/IPの接続が可能なことを相互に確認して、それが次の処理でも使える状態にする程度の意味合いなんだけど、実際にネットワークに何かを繋いでるわけでもなく、パケットのやりとりに変換されるのに存在する謎の概念

 

host名と実IPの変換

host名では繋がらないってなんですか?IPに変換する必要あるんですね?っておもったら、IPアドレスも接続元に応じて実IPアドレスを切り替えれるとか謎なことを言い始める複雑怪奇なIPアドレスの仕組み

 

TCP/IPコネクションの上位のプロトコル

TCP/IP単独ではやりとりにしか使えないので、そこに意味を持たせるプロトコルを理解する必要がある。しかもさらにプロトコルベースのエラーとTCP/IPレベルのエラーも共存するので、実際にどれがどれなのかどうやって識別するんですか??ってなる

 

複雑怪奇なコネクションプール

コネクションは実際には存在してないはずなのに、コネクションをプールして再利用するという挙動な上に、初期設定でNコネクションを自動的に作ろうとする奴もいたり、コネクションプールに溜まって一定時間経つと自動的に閉じられるという謎の挙動。さらにたまに上限数設定があったりして、適切ではない状況を検知するのは至難の業

 

それらを簡単に使えることを目指したライブラリ

一見するとこんな複雑な物を簡単に使えるんだから良いことだと思わせて理解してない人類を集めておいて、謎な挙動をひた隠しにしてエラー時のハンドリングを難しくしていたりする恐ろしい奴

 

サービスによっては存在するリトライルール

なんらかの一時的エラーが返った場合はリトライしましょうって書いてるのにエクスポネンシャル・バックオフとか謎な事を言って、まずはN秒まってそれでもエラーならN*2秒待ってを繰り返してM回エラーになったらエラーとして扱ってくださいというルール

 

サーバに接続するために使うロードバランサー

IPアドレスが実はサーバそのものじゃなくてロードバランサーのもので、ロードバランサーが実際のサーバに接続して・・・って何階層入れるんですか??

なのにコネクションはサーバと接続??よくわかりません・・・

 

SSL接続の謎挙動

SSL接続を有効にするとそれだけで数百ミリ秒の処理時間がかかるとか、SSLにバージョンがあってそれによってエラーになるとか、実は既にSSL接続じゃなくてTLSっていうのが主流なんだよとか、素人殺し感満載なSSL接続方式

 

サーバによって存在する接続上限

TCP/IPの接続に接続の上限があるとかポートの再利用が必要だとか謎の事を言ってくる某OS、しかも環境によっては変更困難だったり色々あるっぽい。この上限にぶち当たってもそういうエラーじゃなくて単なるコネクションエラーになるところが更に状況を悪化させる

 

これら全部を理解した上で、使えって言われても困るよな...