0

기본적으로 저는 현재 기존 제품의 재발급을 계획 중입니다. 이 제품은 현재 하나의 큰 덩어리를 기반으로하며 개별적으로 확장 할 수있는 단일 서비스로 나누기를 원합니다. 나는 이미 잠시 파고 들기는했지만, SOA 애플리케이션을 올바르게 구조화/설계하는 방법에 대한 좋은 정보는 찾을 수 없었다.분산 형 SOA 구조 및 설계

로그인 예를 통해 다음 설정이 로그인을 처리하는 데 올바른/허용 가능한 방법일까요?

  1. : 사용자 인증을
  2. User login service example

    을 처리 들어오는 모든 트래픽을 기본적으로

  3. 계정 서비스를 처리

    • 웹 서비스는, 지금 흐름은 다음과 같은 것 사용자가 로그인 UI를 제공하는 웹 서비스에 도달
    • 사용자는 이메일과 암호를 입력 클릭
    • 웹 서비스가 account.example.org/api/
    • 에 게시되는 계정 서비스 계정 서비스는 자격 증명의 유효성을 검사에 POST 요청을 보내고 그 결과를 반환 "로그인" 웹 서비스

이것은 SOA에서 서비스를 처리/구조화하는 데 사용할 수있는 방법인가 (정말 간단 함)? 그렇다면 웹에 공개되거나 액세스 할 수없는 다른 서비스 (예 : 계정 서비스)로 서비스를 인증하려면 어떻게해야합니까? 기본 인증? 또는 인증 서버를 통해?

해당 /api/ 종점이있는 다른 하위 도메인 (예 : account.example.org/api/)의 각 서비스 대신 api.example.org과 같은 항목에 모든 것을 넣어야합니까? 그렇다면 무거운 하중을 어떻게 처리 할 수 ​​있습니까? 아니면 전체 API 대신 서비스의 일부를 확장 할 수 있습니까?

계속 주목하기 위해 무엇이 더 중요합니까?

물론 나 또한 분산 SOA의 API의

답변

1

즉, 워크 플로우 초안의 설계에 대한 측정을 위해 어떤 recommandations 감사하겠습니다 한 눈에 확인을 보이지만, 주제는 간단한 하나의 게시물에 커버 사소한 꽤 넓고 아니다 .

  • 예, 기본 인증은 분명히 과거에 도달하면 한 가지 방법 일 수 있습니다. 등록;
  • 나는이 시점에서 하위 도메인에 대한 필요를 볼 수 없지만, 같은 개별적인 API 엔드 포인트 : api.example.org/account 또는 떨어져 여러 시스템에서 사용자의 API (전체 API를 확장 할 웹 팜)을 배포에서
  • api.example.org/order, 당신은 떨어질 수 큰 데이터를 쿼리하는 호출에 대한 캐싱을 다시 수행합니다. 계정 시나리오가 좋은 예는 아니지만 여기에 많은 요청이있을 경우 API의 다른 부분으로 확장 될 가능성이 있습니다. 한 가지 예외는 보안 공격이 사용자 로그인을 강제로 시도하는 것입니다.이 경우 웹 서비스에서 일종의 captcha 메커니즘을 설정하고 api에 대한 보호 기능을 설정할 수 있습니다 (특정 임계 값을 초과 한 동일한 IP로부터의 연결을 거부합니다. 예)
+0

답장을 보내 주셔서 감사합니다. 다른 하위 도메인을 사용하려는 이유는 다음과 같습니다. 다른 컴퓨터에서 다른 api를 가질 수있는 방법이 있습니까? 그러므로 기본적으로 api.example.org/{resource}를 내부 도메인으로 라우팅하는 Proxy 또는 이와 비슷한 것이 필요합니까? –