>  Q&A  >  본문

java - 면접 질문, 온라인 상태를 확인하려면 100,000개의 장치가 필요합니다. 어떤 기술을 사용해야 합니까?

고동시성에 대해 잘 모르겠습니다. 어떻게 처리해야 하나요? 높은 동시성에 대한 입문서가 있나요?

大家讲道理大家讲道理2713일 전847

모든 응답(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를 사용하여 각 장치에 대한 온라인 플래그를 설정하고 유효한 시간을 설정하는 아이디어가 있습니다. 클라이언트는 업링크 요청을 할 때마다 유효한 시간을 새로 고치고 온라인 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
  • 취소회신하다