9

많은 독자가이 버퍼에서 독립적으로 소비하는 동안 (계속해서 write-once-read-many/WORM) 버퍼에 앱을 계속 추가하고 있습니다. 처음에는 Apache Kafka를 사용하려고 생각했지만 AWS Kinesis Streams + KCL을 조사하기 시작한 as-a-service 옵션을 선호 했으므로이 작업을 수행 할 수있을 것 같습니다.Google Cloud Platform의 Kafka/AWS 키네시스 스트림에 해당합니다.

기본적으로 필자는 순서 (모든 독자가 동일한 순서로 이벤트를 읽어야 함)와 독자가 앞으로 소비하기 시작하는 버퍼에서 오프셋을 선택할 수있는 기능이 필요합니다.

이제 Google Cloud Platform도 평가 중입니다. 내가 설명서를 읽고있다으로 구글 팝/서브는 AWS 운동성 스트림에 동등으로 제안되어 보이지만,보다 상세한 수준에서이 제품은 다른 많은 것 :

파편 내부에 주문
  • 운동성을 보장 반면, Pub/Sub 주문은 최선의 노력을 기울이고 있습니다.
  • Kinesis는 읽기 시작 위치를 선택하기 위해 오프셋을 사용할 수있는 모든 버퍼 (최대 7 일로 제한됨)를 보유하고 있지만 PubSub에서는 가입 후 메시지 만 영수증에 사용할 수 있습니다.

내가 제대로 얻은 경우 PubSub는 키네시스 동등 물로 간주 될 수 없습니다. 아마도 Google 데이터 흐름과 함께 사용한다면? 나는 아직도 어떻게 볼 수없는 것을 고백해야한다.

그래서 PubSub가 Kinesis의 대안입니까? 그렇지 않은 경우 내 요구 사항을 충족하는 Google Cloud 제품이 있습니까?

감사합니다.

+0

그게 내가 볼 수있는 것입니다. PubSub + DataFlow (약) Kinesis와 동일하지 않습니다. 필자는 Kinesis를 광범위하게 사용했지만 pubsub 및 Dataflow와 같은 설명서 또는 기능은 보지 못했습니다. 그들은 조금 멀었을지도 모른다. – Kannaiyan

+0

https://cloud.google.com/blog/big-data/2016/09/apache-kafka-for-gcp-users-connectors-for-pubsub-dataflow-and-bigquery의 게시물로 인해 더 혼란스러워. PubSub가 Kafka의 대안이라는 것을 함축적으로 암시하지만, 여전히 동일한 기능을 보지 못합니다. – Renan

+0

Pub/Sub를 사용하면 메시지 페이로드에 주문 정보를 추가해야합니다. 이는 귀하의 신청서에 문제가 될 수도 있고 아닐 수도 있습니다. – gdahlm

답변

3

오히려 복잡한 솔루션하지만 도움이 될 :

    은 하나의 주제에 술집/서브를 사용하여 이벤트를 밀어
  • . 이 시점에서 그들은 순서가 없습니다.
  • 게시/하위 주제에서 읽는 클라우드 데이터 흐름 스트리밍 파이프 라인을 만듭니다. 클라우드 bigquery에 스트리밍 쓰기를 수행하고 각 테이블 항목에 타임 스탬프를 추가하십시오.
  • 독자가 bq 테이블에서 쿼리를 수행하도록하려면 타임 스탬프별로 순서를 정하십시오. ROW_NUMBER을 오프셋으로 사용할 수 있습니다.

희망이 있습니다.

+0

아마 작동하지만, 당신이 말한대로 그것은 많은 작업입니다. 이 시점에서 나는 오히려 계산 인스턴스에 Kafka를 설치하려고합니다. 그러나 제안에 감사드립니다. – Renan

+0

@Renan [Pub/Sub에서 메시지를 주문하는 데 권장되는 방법] (https://cloud.google.com/pubsub/docs/subscriber#at-least-once-delivery) 중 하나를 구현하지 않은 경우 [Kafka on Compute Engine] 호스팅 방법 (https://pantheon.corp.google.com/launcher/details/bitnami-launchpad/kafka?project=javatester-1002&organizationId=433637338589)이 최선의 선택입니다.Pub/Sub 엔지니어는 메시지 순서화 구현에 열심히 노력하고 있지만 현재이 기능에 대한 ETA는 없습니다. – Jordan

+1

@Jordan 주문 방법 중 하나를 구현하려고 할 수 있습니다. 그러나 내가 가장 많이 놓친 것은 알려진 버퍼에서 버퍼를 읽기 시작할 수있는 능력입니다. (정확히 기억한다면 최대 가용성은 7 일입니다.) PubSub에서 구독 후 올린 메시지 만받을 수 있다는 것을 이해합니다. 이전 메시지를 읽을 수 없습니다. 100 % Google 클라우드 솔루션을 정교하게 만드는 데 도움이된다고 생각하는 경우 배경을 제공하기 위해 질문을 업데이트 할 수 있습니다. 감사! – Renan

관련 문제