CXF 분산 OSGi를 사용하여 차이점 시스템에 두 개의 서비스 인스턴스를 배치합니다. 시스템에로드 균형 조정 기능을 제공하려고합니다. 우리가 알고있는 OSGi는 부하 분산 기능을 제공하지 않습니다. 아무도 그것을하는 방법을 알고 있습니까?분산 OSGi에서로드 균형 조정을 수행하는 방법은 무엇입니까?
답변
ServiceTracker를 사용하여 전체 서비스 목록을 가져올 수 있어야합니다. 따라서로드 밸런서를 만드는 좋은 방법은로드 균형 조정을 수행하는 프록시 서비스를 직접 만들어서 로컬로 서비스를 제공하는 것입니다. 따라서 비즈니스 응용 프로그램은로드 균형 조정의 세부 사항에 대해 알지 못해도 서비스를 사용할 수 있습니다.
네, 그게 제가 달성하고자하는 목표입니다. 프록시 번들을 만드는 방법은 무엇입니까? queryInLoadBalancing() : query() 서비스의 두 인스턴스를 가져오고로드 균형 조정 작업을 수행합니다. Round-Robin 등 –
프록시 서비스의 원래 인터페이스를 사용합니다. 따라서 비즈니스 로직은 특별한 프록시와 대화한다는 것을 알 필요가 없습니다. 속성을 사용하여로드 균형 조정 서비스를 표시하면 비즈니스 논리가 특별 서비스를 필터링하여 비 승인 서비스를 필터링하지 못하게 할 수 있습니다. –
ServiceTrackers는 로컬로 게시 된 서비스 만 볼 수 있으므로이 솔루션은 크게 두 가지 가정을합니다. 첫째, TM은 무차별 적이므로 모든 원격 서비스가 로컬에서 볼 수 있습니다. 둘째, TM은 로컬 서비스 프록시의 속성에 일종의로드 정보를 가져옵니다. 실제로 TM은 서비스 프록시에 반드시 반영되지 않는 엔드 포인트 속성의 가시성을 가지므로로드 밸런싱을 수행하기에 적합한 장소입니다. –
로드 균형 조정은 토폴로지 관리자 (TM)에서 구현하기위한 것입니다. 이러한 종류의 질문을 정확하게 다루는 Remote Services Admin 사양을 읽는 것이 유용 할 것입니다.
원격 서비스의 CXF 구현은 "무차별 (promiscuous)"인 단일 TM 만 구현합니다. 즉, 모든 수신 프레임 워크에서 모든 사용 가능한 서비스를 게시합니다. 그러나로드 균형 조정 및 장애 조치 (failover) 등을 수행하기 위해 자체 TM을 작성할 수 있습니다.
원격 서비스 사양은 특정 원격 서비스 구현과 완전히 독립적으로 TM 구현을 개발할 수 있도록 작성되었습니다.
안녕 Neil, 이것은 CXF DOSGi의 기본 TopologyManager에 대해서조차도 훌륭하게 향상되었습니다. 어떻게 작동 할 지 확신 할 수 없습니다. TopologyManager가로드 밸런싱/페일 오버 로직을 구현하는 서비스 프록시를 생성합니까? –
@ChristianSchneider 기본적으로 예 .... 모든 원격 서비스는 본질적으로 프록시임을 기억하십시오. 그러나 일반적으로로드 균형 조정을 수행하는 것은 어렵습니다. 부하를 어떻게 측정 할 것입니까? 하중을 측정하는 방법은 다양하며 다양한 방법이 있으며 물론 빠르게 변동될 수 있습니다. –
안녕하세요, @NeilBartlett,로드 밸런싱을 수행하기 위해 자체 TM을 구현해야한다는 의미입니까? 그렇습니다. 지금은 Round-Robin 알고리즘을 사용하여 원격 서비스에 액세스하려고합니다. 그것을 구현하는 방법? 내 생각은 : 1. ServiceTracker.getServices()를 통해 사용 가능한 서비스를 얻습니다. 2. 서비스 반복에 액세스하십시오. 그 맞습니까? 로드 균형 조정에 대한 경험이 부족합니다. :) –
- 1. 로드 균형 조정을 사용하는 WCF 분산 트랜잭션
- 2. IIS를 사용하여로드 균형 조정을 수행하는 Tomcat 서버
- 3. 로드 균형 조정을 사용하는 HttpContext.Current.Session
- 4. 특정 리소스 경로를 기반으로 가능한로드 균형 조정을 수행하는 방법
- 5. 로드 균형 조정을 관리하는 방법
- 6. 간단한 REST API에서로드 균형 조정을 구현하는 방법은 무엇입니까?
- 7. EC2에서로드 균형 조정을 위해 다른 인스턴스를 설치하는 방법은 무엇입니까?
- 8. 로드 균형 조정을 위해 WebSphere 클러스터링 사용
- 9. 로드 균형 조정을 위해 JSESSIONID 제거
- 10. 브라우저 크기가 조정될 때 동적 크기 조정을 수행하는 방법은 무엇입니까?
- 11. .NET에서 고급 글꼴 크기 조정을 수행하는 방법은 무엇입니까?
- 12. Tomcat에서 클러스터링 및로드 균형 조정을 구성하는 단계는 무엇입니까?
- 13. 로드 균형 조정을 위해 여러 서버에서 동일한 WCF 서비스 호스팅
- 14. 로드 균형 조정을 사용하는 AX 2009 코드 전파
- 15. Windows 2003 네트워크로드 균형 조정을 사용하여 네트워크 플러딩을 중지하려면 어떻게합니까?
- 16. Windows/.NET로드 분산 및 균형 조정
- 17. ASP.net 4.0 웹 서버에서로드 균형 조정을 수행하는 방법에 대한 전체 자습서가 필요합니다.
- 18. 개념적으로 Glassfish/모든 ejb 컨테이너에서 EJB 계층의로드 균형 조정을 수행하는 방법
- 19. 연결이 끊긴 환경에서 분산 데이터베이스 복제를 수행하는 방법은 무엇입니까?
- 20. .NET에서 간단한 분산 통신을 수행하는 가장 간단한 방법은 무엇입니까?
- 21. 분산 시스템에서 적용 범위 테스트를 수행하는 방법은 무엇입니까?
- 22. WCF와의로드 균형 조정 방법
- 23. 여러 웹 사이트에서 Azure Traffic Manager로로드 균형 조정을 설정하는 방법은 무엇입니까?
- 24. 로드 균형 조정을 사용하는 서버가 잘못된 페이지로 리디렉션됩니다.
- 25. 로드 균형 조정을 사용하는 ASP.NET SQL Server 세션
- 26. 매우 높은 트래픽 동안로드 균형 조정을 사용하는 AWS EC2 인스턴스
- 27. Azure 웹 사이트는 고정 IP로드 균형 조정을 사용합니까?
- 28. 로드 균형 조정을 사용하는 동안 mp4 플레이어가 FF로 작동하지 않습니다.
- 29. 로드 균형 조정을 사용하는 일시적인 토큰 오류 oAuth
- 30. CCS가로드 균형 조정을 수행하기 위해 연결을 닫아야하는 빈도는 얼마나됩니까?
감사합니다, Christian and Neil, 귀하의 답변 및 의견은 저에게 매우 유용합니다. 그러나 크리스챤의 해결책은 내 문제를 해결할 수 있습니다. –