元スレPHP関連の書籍 第7版
php覧 / PC版 /みんなの評価 :
752 = :
>>750
すっかり、PHPとは関係ない話になったなw
デザインパターンの話じゃないか。
言語関係なくマルチプロセス環境ではシングルトンは複数できてしまうもの
シングルトンというのは、同一のプロセス内において
オブジェクトが一つという定義であり、
PHPでも同一のプロセス内でオブジェクトを一つにできる。
753 = :
PHPではマルチスレッド言語の感覚でシングルトンは使うなということ。
馬鹿なバグの原因になる。
当たり前だが、ネットでころがっている他の言語の説明は鵜呑みにするな。
754 = :
>>716
こいつはwww 何言っているの?
757 = :
>>753
言ってる意味があべこべだな。
マルチスレッド言語では、シングルスレッド言語のような感覚で
シングルトンは使うな。馬鹿なバグの原因になる。
これが正解じゃないか。
PHPはシングルスレッド言語だから、安心して使っていい。
758 = :
>>755
お前、馬鹿じゃないの?シングルトン、公式サイトですら否定しているだろ
761 = :
>>757
そうだよ。
PHPではシングルトンが複数できるからマルチスレッド言語では意味は違うような。
762 = :
>>756
Java言語だったらシンプルだよ。
763 = :
PHPのシングルトンはマルチトンという結論でおk
>>716
なんでスレッドセーフ強調しているわけ?
764 = :
結局、PHPでデザインパターンは学べないってことなんだよね
765 = :
いや、こうやって学べてるだろw
766 = :
>>763
いや、だから、プロセスが違えば
他の言語のシングルトンも、マルチトンになるんだよ。
嘘だと思ってるならやってみな。
CLIアプリでいいから、Javaでシングルトン作って、
そのプログラムを2つ以上実行して、
複数のプロセス間で、オブジェクトが一つなのか
複数なのか確認してみ。
767 = :
PHPで「マルチトン」ではないシングルトン実現のためには外部キャッシュシステムを使えばいいんだが、
外部キャッシュ使える環境ならPHP使う意味も無い。
768 = :
>>758
> お前、馬鹿じゃないの?シングルトン、公式サイトですら否定しているだろ
シングルトンの何を否定してるの?
シングルトンが意味ないってこと?
そりゃシングルトンの批判だろ?
769 = :
>>766
君何言ってるの?それ当たり前じゃん。
770 = :
>>767
PHPっていうか、マルチプロセス全般の話だよね。
マルチプロセスでシングルトンを使うには
確かに外部キャッシュシステムなんかを使えばいい。
memcachedとか。
でもそうすると、すべてのプロセスで共通のリソースを使うってことで
その部分がシングルポイントになりボトルネックとなる。
それではスケールしないシステムになってしまう。
つまり、シングルトンという仕組みそのものが、
時代遅れな設計。
そしてそのシングルトンを否定しているPHPは
将来を見据えた言語ということ。
772 = :
>>771
それは、シングルトンがスケールしない
時代遅れな設計だからだね。
さすがだ。
773 = :
>>770
だよね。
シェアードナッシングだからリソースを共有しない。
だからたとえ同じデータでも毎回データベースなどに取りにいけばいいし。
共有データのために一回のアクセスで済むところを何千回もアクセスすればいいんだよ。
775 = :
なんかネタスレになってきたwww
776 = :
あのーーー、リソース共有できたほうがよくね?
777 = :
>>774
データベースへ超絶アクセスする。
これをシングルトンで解決しようと考える奴はイケてない。
なぜなら負荷分散のために、アプリサーバーを
複数台構成にした時、シングルトンでは解決できないからだ。
つまりシングルトンは何も意味が無い。
これがシングルトンが否定されてる理由の一つ。
778 = :
スケールしないってどんな規模の話しだよ
780 = :
いやいやシングルトンなんて使わなくてもいいけど、
シェーアードナッシングってキツイくね?
君がいうアプリサーバーを複数台にしても
OpenPNE君とか悲惨だもんね。
複数台構成にする規模だとPHPを使う意味はないからね。
784 = :
>>780
> シェーアードナッシングってキツイくね?
きつかったとしてもやらないといけない。
シングルポイントがあれば、そこが一つダウンしただけで
サービス全体が停止してしまう。
最近のクラウドサービスは、シェーアードナッシングか
それに近い状態になってる。
785 = :
>>782
ルート権限がもてる環境でPHP使う意味なし。
はじめから高性能な言語を使えばよい。
786 = :
>>784
どうやってOpenPNEを軽くすればいいのですか?
複数台構成でも激遅ですが。
787 = :
>>784
PHPで構築されたクラウドサービスを教えてください。
研究してみます。
790 = :
>>786
まずどこにボトルネックがあるか調べる。
アプリ側か、データベース側か、
アプリ側であれば単純に増やせば良い。
792 = :
>>789
だから”元”お偉いさんで、
そいつが作ったサービスは
失敗したんだろうなw
793 = :
>>790
そんなことは調べているし、実践している。
しかしつまるところ、「シェアードナッシング」だから遅いことがわかっている。
アプリが原因とも言えるがより深い原因はリソース共有できない言語に由来するよね。
こういう場合はどうしたらいい?
みんなの評価 :
類似してるかもしれないスレッド
- PHP関連の書籍 第5版 (1001) - [85%] - 2008/6/19 9:18
- PHP関連の書籍 第6版 (1001) - [85%] - 2011/12/26 18:16 ○
- PHP関連サイト (177) - [31%] - 2017/12/31 9:31
- PHP上級者が集まるスレ (612) - [17%] - 2021/4/21 0:00
トップメニューへ / →のくす牧場書庫について