ホームページ  >  に質問  >  本文

java - インタビューの質問、オンライン状態を確認するには 100,000 台のデバイスが必要ですが、どのようなテクノロジを使用する必要がありますか?

高い同時実行性についてはよくわかりませんが、どう対処すればよいですか?高同時実行性に関する入門書はありますか?

大家讲道理大家讲道理2713日前851

全員に返信(9)返信します

  • 漂亮男人

    漂亮男人2017-05-17 09:59:38

    TCP の長い接続を直接使用します~~スマート ホームには通常、より多くの MQTT プロトコルが搭載されています~~
    長い接続は、ポーリングよりも多くのリソースを節約します~
    もちろん、データベースをカウントすることは別の問題です。

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-17 09:59:38

    ここで分散アーキテクチャについてのあなたの理解をテストしたいと思います。この質問は 服务发现(service discovery)的认识。分布式就是把一个大型项目进行模块化拆分,然后各模块在做集群部署,前端有一个路由服务器来对到达的请求进行分发,把到达的请求路由到能够提供服务的服务端,而哪台服务器能够提供服务这就是服务发现所要做的事情,而在集群环境下能够提供相等服务的服务器肯定不止一台,那到底该由那台服务器对用户的请求进行处理并响应呢?这就又引出了负载均衡,由负载均衡层通过特定的算法来判断应该由那台服务器提供服务,目的就是均匀的把请求分发给各个服务端。服务发现可以了解下Apache的zookeeper或者Netflix的Eureka。微服务这块spring cloud提供了全套的解决方案,还有阿里的dubbo

    についてのあなたの理解を問うものである必要があります。

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-17 09:59:38

    分散セッション管理

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-17 09:59:38

    私は簡単な計画を立てています
    デバイスのエージェントプロセスをインストールします。デバイスの起動時にプロセスが開始され、一定期間報告されない場合、デバイスは定期的にデバイスの状態をアクティブに報告します。オフラインとみなされます

    返事
    0
  • PHP中文网

    PHP中文网2017-05-17 09:59:38

    高い同時実行性、非同期通信。ジャワの言葉。 。 。 古典的なネット?
    私の個人的な意見では、現在の単一マシンのパフォーマンスによれば、単一マシンで 100k の同時処理をサポートできます。もちろん、データベース ストレージを含める場合は別の問題になります。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-17 09:59:38

    長時間の接続を考慮しない場合は、redis を使用してデバイスごとにオンライン フラグを設定し、有効時間を設定し、クライアントがアップリンク リクエストを行うたびに有効時間を更新し、その数をカウントするという考えもあります。私は常にバックエンドで作業しているため、クライアントが非アクティブなときにどれくらいの時間オンラインを維持できるかがわかりません。デーモン?

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-17 09:59:38

    データをredisに保存すると、dbよりもアクセスが高速になります

    返事
    0
  • 黄舟

    黄舟2017-05-17 09:59:38

    私だったら、これを実行します:
    新しい MySQL メモリ テーブルを作成します (ENGINE=MEMORY):
    online(user_id, update_time)
    update_time を使用して、ユーザーの最新のアクセス時間を記録します。
    たとえば、次のように仮定できます。 5 分以内にすべてのユーザーがオンラインだと考えます。

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-17 09:59:38

    たとえば、100,000 台のマシンがそれぞれ 10 台のマシンにステータスを報告する場合、ハッシュ マッピングを使用すると、これらの 10 台のマシンが障害のあるマシンを報告します。状況を固定ホストに報告します。これは、おおよそ 10w->10-->1 を意味します。上記の例には単一障害点がある可能性がありますが、上位層のマシンの数を変更することで解決できます

    返事
    0
  • キャンセル返事