| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 데이터구조
- 인공지능
- 컴퓨터공학
- 알고리즘
- 프로그래밍언어
- 컴퓨터비전
- 소프트웨어공학
- 보안
- 데이터베이스
- 네트워크
- 디자인패턴
- 자료구조
- Yes
- 클라우드컴퓨팅
- springboot
- 버전관리
- 자바스크립트
- I'm Sorry
- 머신러닝
- 파이썬
- 프로그래밍
- 딥러닝
- 소프트웨어
- 네트워크보안
- 사이버보안
- 컴퓨터과학
- 데이터과학
- 데이터분석
- 빅데이터
- 웹개발
- Today
- Total
스택큐힙리스트
다른 서버에서의 요청에 대한 다중 데이터베이스 결과 처리 방법 본문
1) Mgr에서 클라이언트 요청에 따라 여러 모니터 데이터를 어떻게 정렬할 수 있을까요? 각 모니터는 클라이언트 요청에 맞게 결과를 제공할 수 있지만, 여전히 자바를 통해 여러 기계 데이터를 어떻게 병합할 수 있을까요? MGR에서 여러 클러스터에서 검색된 결과를 메모리 내부에서 SQL 집계/스칼라 함수(예: Groupby, orderby, avg)를 수행하는 방법은 무엇인가요? 자바에서 DB SQL 집계/스칼라 기능을 어떻게 구현할 수 있을까요? 알려진 API가 있나요? Hadoop의 mapreduce 기술에서 Reduce 부분이 필요한 것 같습니다.
2) UI에서의 요청(예: select count(*) from DB where Memory > 1000MB)을 여러 기계로 전달해야 합니다. 이제 개별 모니터로 병렬 요청을 보내고, 모든 노드가 응답할 때까지만 사용하려면 어떻게 해야 할까요? 사용자 스레드가 모든 성능 모니터로부터 응답을 받을 때까지 기다리는 방법은 무엇인가요? MGR에서 단일 UI 요청에 대해 병렬 REST 요청을 어떻게 트리거할까요?
3) UI 사용자를 Mgr 및 Perf 모니터 양쪽에서 인증해야 할까요?
4) 이 접근 방식에 어떤 단점이 생각나시나요?
참고:
1) 데이터가 구조화되어 있고 조인이 필요하지 않기 때문에 NoSql을 선택하지 않았습니다.
2) node.js를 선택하지 않았습니다. 제가 그것에 대해 새로운 사람이며 개발에 더 많은 시간이 걸릴 수 있습니다. 또한 여기에서는 단일 스레드가 가장 적합한 경우에 해당하는 동시에 실행되는 중요한 작업이 없습니다. 여기에서는 데이터의 푸시/검색만 수행됩니다. 수정사항은 없습니다.
3) 각 모니터마다 별도의 DB를 원합니다. 또는 하나의 인스턴스에 여러 클러스터가 있는 최소한 두 개의 DB 인스턴스를 지원하여 실시간 대규모 통계 데이터에 더 빠르게 액세스하고자 합니다.
답변 1
인증에 대한 주의 사항: 프론트 엔드 측에서 HTTP 요청의 인증을 해야합니다. 그런 다음 모든 것이 괜찮을 것입니다. 사용자에게 고유한 ID (아마도 세션 ID)를 할당하고이 내부 ID를 사용하여 요청을 하위 서버로 전달할 때 사용자와 연결된 것으로 합니다.
개별 모니터에 병렬 요청을 보내고 모든 노드의 응답이 도착할 때까지 기다리는 방법은 무엇인가요? 퍼프 모니터의 모든 응답을 소비 할 때까지 사용자 스레드를 어떻게 대기시키나요? MGR에서 단일 UI 요청에 대해 병렬 REST 요청을 어떻게 트리거하나요?
사용자 연결을 처리하고 해당 클라이언트에 응답을 제공하는 데 관한 많은 질문이 있다면 Java 서블릿 API에 대해 책을 찾으시는 것이 좋습니다. 예를 들어 다음 책을 읽어보시기 바랍니다: 서블릿 및 JSP : 자습서 (자습서 시리즈). 조금 오래되었지만 잘 쓰여져 있습니다.
하지만 존중을 담아 말씀드리지만, 이러한 근본적인 주제에 대해 많은 질문을 하신다면, 설계 아키텍처는 더 경험이 있는 다른 사람에게 맡기시는 것이 더 나은 선택일 수 있습니다.
답변 2
여러 서버로부터 요청에 대한 다양한 데이터베이스 결과를 처리하는 방법현대의 기술 발전은 우리에게 신속하고 정확한 정보 접근을 제공합니다. 인터넷을 통해 전 세계 어디든지 원하는 정보를 얻을 수 있게 되었으며, 이는 대부분의 기업과 웹사이트에게 성공적인 영향을 미치고 있습니다. 그러나 복잡한 기업 웹사이트에서는 여러 데이터베이스 서버에서 오는 결과를 처리해야 하는 경우가 있습니다. 이러한 경우 처리 방법을 알고 있으면 웹사이트의 성능을 최적화하고 SEO에 이점을 얻을 수 있습니다.
여러 데이터베이스 서버에서 요청에 대한 결과를 처리하기 위해 다음과 같은 방법을 사용할 수 있습니다.
첫째로, 성능 개선을 위해 서버에 대한 선택 기준을 설정해야 합니다. 서버의 응답시간, 처리 속도, 네트워크 지연 등을 포함한 다양한 요인을 고려해야 합니다. 이를 통해 가장 빠르고 안정적인 서버를 선택할 수 있으며, 이는 웹사이트의 응답 시간을 단축하는 데 큰 도움이 됩니다. 빠른 응답 시간은 SEO에 기여할 수 있습니다.
둘째로, 다른 데이터베이스 서버로부터 받은 결과를 병합해야 합니다. 이를 위해 데이터를 정제하고 중복된 결과를 제거해야 합니다. 이와 함께 중복된 정보에 대한 처리 방식을 결정해야 합니다. 중복된 정보를 표시하거나 결합하여 사용자에게 전달하는 등 웹사이트에 적합한 콘텐츠를 생성하는 것이 중요합니다. 또한, 이러한 프로세스에서 검색 엔진 최적화에 유리한 메타데이터와 키워드를 추가하는 것이 좋습니다.
셋째로, 보안 문제에 유의해야 합니다. 여러 데이터베이스 서버로부터 결과를 가져오는 경우, 각 서버의 보안을 유지하는 것이 중요합니다. 특히 개인정보와 같은 민감한 정보를 다룰 때는 보안을 강화해야 합니다. SSL 인증서 및 암호화된 연결을 사용하고, 업계 표준 보안 규정을 따라야 합니다. 안전한 웹사이트는 신뢰성을 확보하여 SEO에 긍정적인 영향을 줄 수 있습니다.
마지막으로, 다양한 데이터베이스 서버로부터 받은 결과를 모니터링하고 평가해야 합니다. 각 서버의 성능과 응답 시간을 감시하고, 문제가 발생한 경우 적시에 조치해야 합니다. 이는 사용자가 항상 최신이고 정확한 정보를 제공받을 수 있도록 도와줍니다.
여러 데이터베이스 서버로부터 요청에 대한 결과를 처리하는 것은 복잡한 작업이지만, 위의 방법을 따른다면 좋은 결과를 얻을 수 있습니다. 빠른 응답 시간과 정확한 정보 제공은 사용자 경험을 향상시키며, 검색 엔진에서 높은 순위를 달성할 수 있습니다. 데이터베이스 결과 처리를 최적화하여 웹사이트의 성능과 SEO를 향상시키는 것은 기업과 웹사이트에게 큰 이점을 제공할 것입니다.
