問題タブ [paas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Nodejs: ポート プロキシを使用しない URL に基づく Websocket ルーティング
node.js のサーバー側ロジックを使用して html5 でゲームを実行しようとしていますが、それは生の Websockets (Socket.IO ではなく、バイナリ データが必要です) を使用します。複数の「部屋」、つまり複数の websocket サーバーが必要で、すべてが個別の URL を持ちます。現在、各 Websocket サーバーを特定のポートに接続し、アップグレード要求を URL に基づいて適切なポートにプロキシする方法のみを見つけました (どのように機能するかは完全にはわかりません)。
それは私のコンピュータで動作します。問題は、PaaS プロバイダー (AppFog) に送信しようとすると、提供された http ポート以外のポートを開くことが許可されていないため、コードが失敗することです。
これが私のコードのかなり明確なバージョンです:
私の質問: 特定のポートをリッスンせずに websocket サーバーを開き、ソケットを手動でそれらに接続して、基本的な http ポート以外のポートを開く必要がないようにすることは何とか可能ですか? 私はSocket.IOが何とかそれを行うことを知っています。http サーバーのアップグレード イベントをリッスンして、ソケットを正しい WebSocket サーバーに渡す方法があるのではないでしょうか?
私はサーバー側のものにはかなり慣れていないので、あちこちで追加情報を歓迎します.
java - CloudBees で複数の「環境」をセットアップする方法は?
CloudBees 開発者向けドキュメントをすべて読みましたが、デプロイ パイプライン用に複数の環境をセットアップする方法について何も見ていないことに驚きました。
アプリをローカルで実行し、コードをネットワーク内の QA マシンにプロモートする予定です。そこから、コードの変更を CloudBees クラウド上の「デモ」環境に展開して、クライアントがレビュー/受け入れテストを行えるようにするとよいでしょう。ライブに設定する前の変更。
そこで質問します: CloudBees でデモ環境と本番環境の両方をセットアップするにはどうすればよいですか?
demo.myapp.example.com
理想的には、デモ環境を に、本番環境を にしたいと考えていますmyapp.example.com
。前もって感謝します!
java - CloudBees サービス レベル アグリーメントと機能 サービス
私は Java PaaS を注意深く比較してきましたが、CloudBeesが本当に好きになり始めています。私が彼らに対して大きな懸念を持っているのは 1 つだけです。それは彼らの SLA/アップタイムです。
すべてのドキュメントを精査した後、SLA について提供している次のような論文を 1 つだけ見つけることができます。
高可用性オプションを利用せずに CloudBees PaaS を使用している場合、CloudBees はインフラストラクチャ クラウド プロバイダーの基本アップタイム SLA に近いアップタイムしか提供できません。
同じ論文でも言及されているように、Amazon は 99.95% のアップタイムを提供しているようであり、CloudBees が (大部分は) AWS/EC2 インスタンス自体で実行されることを私は知っています。
したがって、これにより、密接に関連する SLA の質問が多数発生します。
- 「高可用性」オプションを利用しない場合、CloudBees は 99.95% を保証さえしないと想定できますか? または、アップタイムが何であるか、およびそのアップタイムを満たせなかった場合の救済策を記載した文書がどこかにありますか?
- 彼らはここでどのような高可用性オプションについて話しているのですか? 私は彼らの開発者向けドキュメント全体を読んだだけで、HA については何も知りませんでした。
- パートナー サービス (メール用の SendGrid やキャッシュ用の MemCachier など) がダウンした場合の対処法は? GAE について私が気に入っている点の 1 つは
CapabilitiesService
、メール API やキャッシング API を使用する前に、まずマスターCapabilitiesService
に確認して、それらのサービスが動作していることを確認するところです。CloudBees でも同じことをしたいのですが、自分でビルドする必要があるようです。それは問題ありませんが、CloudBees が特定のサービス パートナーがオンラインかオフラインかを判断するメカニズム (API 呼び出しなど) を提供するかどうかはわかりません。
前もって感謝します!
sandbox - CloudBees のサンドボックス/JRE の制限は?
CloudBees にデプロイすると思われる Java Web アプリの開発を開始しようとしていますが、JRE/サンドボックスの制限が適用される可能性があることを懸念しています。
たとえば、Google App Engine では、java.io.file
または内にパッケージ化されたメソッドを実行することはできませんjava.net
。custom を使用せずにスレッドを開始することはできませんThreadFactory
。JNDI、JMX を使用したり、サードパーティのマシンでホストされているリモート RDBMS を呼び出したりすることは許可されていません。リフレクションの使用は許可されていません。GAE では、許可されていないことがたくさんあります。
これらと同じ制限が CloudBees にも当てはまりますか? 私は彼らの開発者向けドキュメント全体を読んだだけで、そのようなものに出くわしなかったので、いいえだと思います。
ただし、アプリがサーバーにデプロイされたときにローカル ファイル システムに書き込もうとするとどうなりますか? セキュリティ以外の理由がなければ、マシン上で実行できるものについて一定の制限を設けなければなりません!
だから私は尋ねます: これらの制限は何ですか? または、ドキュメントのどこにリストされていますか? 前もって感謝します!
java - CloudBees のアプリケーション セッション ストア
CloudBees のアプリケーション セッション ストアの概念をいつ/どのように使用するかを完全に理解しようとしています。
その記事を読んだ後、私はそれらがアプリケーションサーバーの複数のインスタンスで永続的なセッション変数を共有する方法を提供することを理解しました。そうすれば、各サーバー間で負荷を分散でき、ユーザーがどのインスタンスにリダイレクトされるかは問題ではありません。各サーバー インスタンスには、(すべてのユーザーに対して) 同じ共有セッション状態があります。
最初に、私の理解が間違っているか、少し誤解されている場合は、まず訂正してください。
私が多かれ少なかれ正しいと仮定すると、次の質問があります。
- これにより、パフォーマンスやメモリ使用率がどのように低下しますか? 各サーバーがすべてのユーザーに対して同じキャッシュされたセッション データを共有する必要がある場合、サイズが大きくなり、おそらく高価になると思います...
- プログラムでセッション状態を CRUD する方法はありますか (つまり、キャッシュのフラッシュ、JMX での検査など)?
- 誰かがこの機能の具体的な使用例を提供できますか?
前もって感謝します!
java - CloudBees とカスタム エラー ページ
CloudBees を使用すると、従来の Java Web アプリ (を介してweb.xml
) でできることを超えて、カスタム エラー ページを定義できますか?
たとえば、インフラストラクチャの問題が原因で CloudBees アプリ セル インスタンスがダウンした場合、アプリケーション バックエンドでキャッチして処理できるタイプの例外がスローされますか? または、アプリがメモリ/PermGen を使い果たした場合に定義できる特別な例外/エラー ページですか? 前もって感謝します!
java - CloudBees と DoS 保護/ブラックリスト
CloudBees は、DoS 保護や IP ブラックリストの方法で何かを提供しますか? この種の攻撃から CloudBees アプリを保護するための推奨される方法は何か疑問に思っていますが、開発者向けドキュメントには、これが可能であることを示すものは何もありません。前もって感謝します!
java - CloudBees XML Config vs コマンドライン ツール
CloudBees では記述子を使用してアプリをデプロイできるようですが、この記述子について説明cloudbees-web.xml
している開発者向けドキュメントのページには、次のように記載されています。
は
cloudbees-web.xml
「レガシー」と見なされます-(まだ)非推奨ではありません-現在、それを取り除く計画はありません-しかし、環境設定を管理する方法としてはあまり好まれていません.
これにより、次の 2 つの質問が表示されます。
- アプリがデプロイできる唯一のCloudBees 固有の構成ファイルですか、それとも他にもありますか
cloudbees-web.xml
? もしそうなら、それらは何であり、それらのドキュメントはどこにありますか? (たとえば、GAE では、、、などを使用してアプリをデプロイできます) 。cron.xml
dos.xml
queues.xml
- CloudBees SDK は(構成パラメーターを介して)すべて
cloudbees-web.xml
を達成できますか? それとも、それしかcloudbees-web.xml
できない機能はありますか?
前もって感謝します!
java - CloudBees アプリの JVM 引数の調整
PermGen の調整に関するCloudBees開発者ドキュメントを読んだところですが、ヒープ、GC、および JVM 全般を調整するために他に何か提供されているかどうか疑問に思っていました。
私は通常、Tomcat アプリを広範囲に調整しており、可能な限り最もパフォーマンスの高い JVM 引数を使用して Tomcat インスタンスにアプリをデプロイしたいと考えています。