SQL Server에 대한 웹 서비스 연결을 사용하여 대규모 .Net Winforms 프로젝트에서 작업합니다. 비즈니스 기능으로 그룹화 된 약 10 가지 서비스가 개발되었습니다. 이러한 서비스 중 일부는 많은 기능으로 상당히 커졌습니다. 이것에 대한 모범 사례는 무엇입니까? 동일한 서비스에서 수백 가지 기능을 수행 할 때 성능이 저하됩니까? 더 작은 서비스를 갖는 것이 더 낫지 않습니까? 그것은 그대로 사용하는 것이 상당히 쉬우 며, 서비스는 서로 상당히 격리되어 있으며 어떤 서비스를 원하는지 바로 알 수 있습니다..Net 웹 서비스, 서비스 수 대 서비스 크기 대
1
A
답변
1
소량의 데이터 만 반환하는 웹 메서드를 여러 번 호출하는 것보다 더 큰 데이터 집합을 반환하는 웹 서비스 메서드를 호출하는 것이 적어야합니다. 엄지 손가락의 규칙은 프로세스 및 네트워크 경계를 이동할 수있는만큼 피하는 것입니다.
1
전화를 언급 할 때 WebMethods를 의미합니까, 아니면 WebMethod에 대한 실제 호출을 의미합니까?
모든 웹 메소드를 하나의 웹 서비스로 그룹화 할 때 병목 현상이 발생하는 것을 들어 본 적이 없지만 여러 서비스를 통해 분할하는 이점 중 하나는 각 웹 서비스를 다른 애플리케이션 풀에 넣을 수 있다는 것입니다. 애플 리케이션 풀 재활용에.
또한 기본 웹 서비스는 .net 4.0에서 더 이상 사용되지 않습니다. WCF로 대체되었으므로 이전 웹 서비스 메서드보다 성능이 약간 향상되었습니다. 이 둘 사이의 성능 분석은 http://msdn.microsoft.com/en-us/library/bb310550.aspx을 참조하십시오.
관련 문제
- 1. 웹 서비스 대 WCF
- 2. 안정적인 웹 서비스 대 다른 웹 서비스
- 3. 웹 서비스 대 XML?
- 4. 2.0 웹 서비스 프록시 대 WCF 서비스
- 5. 원격 서비스 대. 지역 서비스
- 6. PHP 대 .NET JSON 웹 서비스
- 7. 소켓 대 웹 서비스 .NET (파일 업데이터)
- 8. .NET 웹 서비스 : .asmx? WSDL 대 .wsdl
- 9. 웹 서비스 - 대 후반 대 대가
- 10. 웹 서비스 대 스프링 리모팅
- 11. Asp.net 대 어떤 웹 서비스?
- 12. 소켓 프로그래밍 대 웹 서비스?
- 13. IIS 대 Windows 서비스?
- 14. 웹 페이지 대 웹 서비스 통신
- 15. 웹 응용 프로그램 대 웹 서비스 대 클래식 응용 프로그램
- 16. 서비스 대 리포지토리
- 17. Microsoft보고 서비스 대 ssrs
- 18. Windows 서비스 대 간단한 프로그램
- 19. ASP.NET 서비스 대 리포지토리 계층
- 20. android 웹 서비스 클라이언트 KSOAP 대 WSDL2Java
- 21. 웹 서비스 대 정기적 인 HTTP 요청
- 22. ASP.NET 페이지 메서드 대 웹 서비스
- 23. 웹 서비스 : Ruby on Rails 대 WCF
- 24. 직접 액세스 데이터베이스 대 웹 서비스
- 25. ejb 타이머 서비스 대 cron
- 26. 앱 살인 대 서비스 살해
- 27. 서비스 레이어 대 도우미 개체?
- 28. Java 유틸리티 클래스 대 서비스
- 29. 웹 서비스 변경을 모니터링하는 .NET 서비스
- 30. .NET Remoting 대 웹 서비스 vs. Windows Communication Foundation (WCF)
동일한 통화 수와 동일한 양의 데이터가 있습니다. 제 질문은 1 개의 서비스에서 1000 건의 전화를하거나 10 개의 다른 서비스에서 100 건의 전화를하거나 20 가지의 서비스에서 50 건의 전화를하는 것이 더 낫지 않습니까? – dwidel
나는 동의하지 않는다. 주어진 시간에 필요한 데이터 만 검색하십시오. 예를 들어 고객을 위해 모든 데이터를 반환하는 하나의 대규모 호출보다 작은 호출이 많습니다. – DaveRead
@DaveRead, 객관적인 결과를 얻으려면 항상로드 테스트를 수행하는 것이 좋습니다. 개인적으로 필자는 네트워크 대기 시간과 직렬화/직렬화 해제 오버 헤드로 인해 더 큰 데이터 세트로 더 적은 호출을하는 것이 더 바람직하다는 결론을 내린 많은 테스트 (내 응용 프로그램에서)를 수행했습니다. 물론 이것은 의존 할 것입니다. –