Google Chat 앱 아키텍처 선택하기

이 페이지에서는 API 및 SDK에 사용되는 일반적인 서비스 아키텍처 접근 방식을 설명합니다. Google Chat 앱 만들기 기존 앱이 있는 경우 Google Chat에 통합하면 기존 구현을 사용하거나 조정할 수 있습니다. 이 페이지에서는 새로운 채팅 앱을 빌드하는 경우 아키텍처 선택에 도움이 되도록 유사한 정보를 사용하는 방법을 알아보겠습니다.

기능별 개요

다음 표에는 채팅 앱 및 추천 () 서비스 아키텍처 스타일 경우에 따라 다른 아키텍처 스타일을 사용하여 여타 솔루션만큼 사용 사례에는 적합하지는 않습니다. 스타일 ()

특징 및 기능

웹 또는 HTTP 서비스

Pub/Sub

웹훅

Apps Script

AppSheet

Dialogflow

스크립트

의도한 시청자층

내 팀

내 조직

대중

사용자 상호작용

자연어 처리 사용

메시징 패턴

동기 메시지 주고받기

동기 메시지 주고받기, 비동기 메시지 전송

비동기 메시지만 전송

외부 시스템에서 하나의 Chat 스페이스로 메시지 전송

다른 서비스 및 시스템에 액세스

다른 Google 서비스와 통합

방화벽 뒤의 통신

Chat 이벤트 쿼리 또는 구독

코딩 및 배포 스타일

코드 없는 개발

로우 코드를 사용한 개발

원하는 프로그래밍 언어로 개발

DevOps 간소화

완전한 DevOps 및 CI/CD 관리

서비스 아키텍처 스타일

이 섹션에서는 데이터 레이크와 데이터 웨어하우스를 설계하는 데 사용되는 채팅 앱 만들기

웹 또는 HTTP 서비스

웹 또는 HTTP 서비스가 가장 일반적으로 배포되는 아키텍처입니다. 이를 통해 개발자는 공개 애플리케이션을 위한 채팅 앱 이 아키텍처는 다음과 같은 경우에 권장됩니다. 사용 사례:

  • 채팅 앱이 공개적으로 배포되는 서비스 Google Workspace Marketplace
  • 채팅 앱에서 모든 메시지를 주고받을 수 있음 패턴: 동기 메시지 전송 및 수신, 비동기 메시지 전송 메시지를 보내고, 외부 시스템에서 메시지를 보냅니다.
  • 채팅 앱은 모든 프로그래밍으로 개발됩니다. 있습니다.
  • 채팅 앱에는 완전한 DevOps 및 CI/CD가 필요합니다. 관리할 수 있습니다
  • Chat 앱 서비스가 클라우드 또는 사용할 수 있습니다

이 설계에서는 Chat을 구성하여 HTTP를 사용하여 원격 서비스에 연결할 수 있습니다.

온프레미스 서버에서 웹 서비스를 사용하는 채팅 앱 아키텍처

위 다이어그램에서 HTTP(S) 서버와 상호작용하는 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 Chat 스페이스에서 채팅 앱
  2. HTTP 요청은 클라우드 또는 채팅 앱이 포함된 온프레미스 시스템 제공합니다.
  3. 채팅 앱 로직은 원하는 경우 외부 서드 파티 서비스(예: 프로젝트 관리 시스템 또는 티켓 판매 도구
  4. 웹 서버는 HTTP 응답을 Chat의 채팅 앱 서비스입니다.
  5. 응답이 사용자에게 전달됩니다.
  6. 채팅 앱에서 선택적으로 Chat API를 통해 비동기식으로 메시지를 게시하거나 작업을 수행할 수 있습니다

이 아키텍처는 기존 라이브러리와 시스템에 이미 존재하는 구성요소들을 채팅 앱은 다양한 프로그래밍 언어를 사용하여 설계할 수 있습니다. 이 아키텍처를 구현하는 방법에는 여러 가지가 있습니다. Google Cloud에서는 Cloud Functions, Cloud Run, App Engine을 사용할 수 있습니다 시작하려면 Google Chat 앱을 빌드합니다.

Pub/Sub

채팅 앱이 방화벽 뒤에서 구현되는 경우 Chat에서는 HTTP 호출을 실행할 수 없습니다. 한 가지 방법은 Pub/Sub에서 채팅 앱 구현을 사용 설정하여 Chat의 메시지가 전달되는 주제입니다. Pub/Sub는 비동기식 메시지를 생성하는 서비스를 서비스와 분리하는 메시지 서비스 처리할 수 있습니다. 이 아키텍처는 다음과 같은 경우에 권장됩니다. 사용 사례:

  • 채팅 앱은 방화벽으로 보호되어 있습니다.
  • Chat 앱 Chat 스페이스에 관한 이벤트를 수신합니다.
  • Chat 앱이 조직에 배포됩니다.
  • 채팅 앱은 동기식 채팅과 비동기 메시지를 보낼 수 있습니다
  • 채팅 앱은 모든 프로그래밍으로 개발됩니다. 있습니다.
  • 채팅 앱에는 완전한 DevOps 및 CI/CD가 필요합니다. 관리할 수 있습니다

다음 다이어그램은 Google Cloud의 Pub/Sub로 빌드된 채팅 앱:

Pub/Sub로 구현된 채팅 앱 아키텍처

위 다이어그램에서 Pub/Sub와 상호작용하는 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 Chat에서 채팅 메시지 또는 채팅 창 Chat 스페이스 또는 Chat 스페이스에서 이벤트가 발생하는 경우 채팅 앱에 활성 상태인 구독

  2. Chat이 Pub/Sub 주제로 메시지를 전송합니다.

  3. 애플리케이션 서버(클라우드 또는 온프레미스 시스템)는 채팅 앱 로직을 포함하며, 방화벽을 통해 메시지를 수신할 Pub/Sub 주제

  4. 채팅 앱에서 선택적으로 Chat API를 통해 비동기식으로 메시지를 게시하거나 작업을 수행할 수 있습니다

시작하려면 Pub/Sub를 채팅 앱의 엔드포인트로 사용

웹훅

메시지 전송만 가능한 채팅 앱을 만들 수 있습니다 Chat으로 걸려오는 통화를 사용하여 특정 Chat 스페이스에 연결 webhook URL의 예입니다. 이 아키텍처는 다음 사용 사례에 권장됩니다.

  • 채팅 앱이 팀에 배포됩니다.
  • Chat 앱이 외부 단일 Chat 스페이스에 연결할 수 있습니다

이 아키텍처를 사용하면 채팅 앱이 다음과 같이 제한됩니다. 사용자 상호작용을 허용하지 않는 다음 다이어그램에 나와 있습니다.

Chat에 비동기 메시지를 보내기 위한 수신 웹훅의 아키텍처

앞의 다이어그램에서 채팅 앱에는 다음이 있습니다. 정보의 흐름이 있습니다.

  1. 채팅 앱 로직은 외부 서드 파티 서비스(예: 프로젝트 관리 시스템 또는 티켓 판매 도구
  2. 채팅 앱 로직은 클라우드 또는 메시지를 보낼 수 있는 온프레미스 시스템에 확인할 수 있습니다
  3. 사용자는 다음에서 채팅 앱의 메시지를 받을 수 있습니다. 특정 Chat 스페이스와 상호작용할 수 없는 채팅 앱

다른 앱에서 공유할 수 없는 채팅 앱 유형입니다. Chat 스페이스 또는 다른 팀과의 채팅 Google Workspace Marketplace 수신 웹훅은 알림, 상태 또는 일부 유형의 데이터를 보고하는 채팅 앱 채팅 앱 프로토타입 제작

시작하려면 웹훅을 사용하여 Chat에 메시지 보내기

Apps Script

채팅 앱 로직을 완전히 만들 수 있습니다. 있습니다. Google Apps Script는 로우 코드 개발 플랫폼으로, 채팅 앱 Apps Script는 사용자 인증을 위한 OAuth 2.0 토큰이 포함되어 있습니다. 이때 Apps Script에서 공개 채팅 앱을 빌드할 수 있으나 권장 조치로 인해 할당량 및 한도와 같은 다른 리소스도 관리할 수 있습니다.

이 아키텍처는 다음 사용 사례에 권장됩니다.

  • 채팅 앱이 팀에 배포되면 액세스할 수 있습니다
  • 채팅 앱에서 모든 메시지를 주고받을 수 있음 패턴: 동기 메시지 전송 및 수신, 비동기 메시지 전송 메시지를 보내고, 외부 시스템에서 메시지를 보냅니다.
  • 채팅 앱에 간소화된 DevOps 필요 관리할 수 있습니다

이 아키텍처는 기타 Google Workspace 및 Google 서비스(예: Google 스프레드시트, Google 프레젠테이션, Google 캘린더, Google 드라이브, Google 지도, YouTube에 광고를 게재합니다. 다음 다이어그램을 참조하세요.

Apps Script로 구현된 채팅 앱 아키텍처

위 다이어그램에서 Apps Script와 상호작용하는 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 채팅 앱에서 Chat 스페이스에서 채팅 메시지를 보낼 수 있습니다.
  2. 다음에서 구현된 채팅 앱 로직 Google Cloud에 있는 Apps Script는 확인할 수 있습니다.
  3. 채팅 앱 로직은 원하는 경우 Google Workspace 서비스(예: Calendar, Sheets 또는 기타 Google 서비스(예: Google 지도) 또는 YouTube일 수 있습니다.
  4. 채팅 앱 로직은 Chat의 채팅 앱 서비스입니다.
  5. 응답이 사용자에게 전달됩니다.

시작하려면 Apps Script를 사용하여 채팅 앱 빌드하기

AppSheet

코드 없이 도메인 공유 채팅 앱을 만들 수 있습니다. AppSheet 사용하기 개발 프로세스를 간소화하려면 자동 구성 모드를 사용하고 템플릿을 따라 채팅 앱 작업 그러나 Chat 앱에서는 AppSheet 웹 앱 기능을 사용할 수 없습니다.

이 아키텍처는 다음 사용 사례에 권장됩니다.

  • 채팅 앱이 본인과 팀에 배포됩니다.
  • 채팅 앱은 동기식 채팅과 비동기 메시지를 보낼 수 있습니다
  • 채팅 앱에 간소화된 DevOps 필요 관리할 수 있습니다

다음 다이어그램은 Google Cloud의 AppSheet로 빌드된 채팅 앱:

AppSheet로 구현된 채팅 앱 아키텍처

앞의 다이어그램에서 AppSheet와 상호작용하는 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 Chat에서 채팅 메시지 또는 채팅 창 Chat 스페이스.
  2. 다음에서 구현된 채팅 앱 로직 Google Cloud에 있는 AppSheet는 메시지가 표시됩니다.
  3. 채팅 앱 로직은 원하는 경우 Google Workspace 서비스(예: Apps Script 또는 Google Sheets
  4. 채팅 앱 로직은 Chat의 채팅 앱 서비스입니다.
  5. 응답이 사용자에게 전달됩니다.

시작하려면 AppSheet로 채팅 앱 빌드하기

Dialogflow

Dialogflow, 자동화된 대화 및 동적 응답을 위한 자연어 플랫폼 이 아키텍처는 다음 사용 사례에 권장됩니다.

  • 채팅 앱은 동기식 채팅과 메시지를 보낼 수 있습니다
  • 채팅 앱이 자연어 처리를 사용함 상호작용하고 반응하기가 수월합니다.

다음 다이어그램은 Google Cloud의 Dialogflow로 빌드된 채팅 앱:

Dialogflow로 구현된 채팅 앱 아키텍처

앞의 다이어그램에서 Dialogflow 에이전트와 상호작용하는 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 Chat에서 채팅 메시지 또는 채팅 창 Chat 스페이스.
  2. Google Cloud에 있는 Dialogflow 가상 에이전트는 메시지를 처리하여 응답을 생성합니다.
  3. 원하는 경우 Dialogflow 웹훅 Dialogflow 에이전트는 외부 서드 파티 서비스와 상호작용할 수 있습니다. 프로젝트 관리 시스템이나 티켓팅 도구로 활용할 수 있습니다
  4. Dialogflow 에이전트는 Chat의 채팅 앱 서비스입니다.
  5. 응답이 Chat 스페이스로 전송됩니다.

시작하려면 Dialogflow Google Chat 앱을 빌드합니다.

명령줄 애플리케이션 또는 스크립트

명령줄 애플리케이션 또는 스크립트를 만들어 채팅 메시지를 보내거나 채팅 만들기 등의 다른 작업 수행 사용자에게 직접 권한을 부여하지 않고 스페이스의 참여자 관리 다음에서 채팅 앱을 호출하거나 응답 채팅 이 아키텍처는 다음과 같은 용도로 권장됩니다. 사례:

  • 채팅 앱은 모든 프로그래밍으로 개발됩니다. 있습니다.
  • 채팅 앱은 비동기 메시지만 보낼 수 있습니다.

다음 다이어그램은 이러한 아키텍처를 보여줍니다.

명령줄 애플리케이션 또는 스크립트로 구현된 채팅 앱의 아키텍처

앞의 다이어그램에서 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. Chat 앱은 Chat API를 호출하여 메시지를 보내거나 다른 작업을 수행할 수 있습니다.
  2. Chat은 요청된 작업을 실행합니다.
  3. 채팅 앱이 필요한 경우 확인 메시지를 인쇄합니다. 사용할 수 있습니다

채팅 앱 로직 구현

Chat은 채팅 앱 로직 Fix-syntax 명령어를 만들 수 있습니다. 파서, 고급 AI 및 언어 처리 라이브러리 또는 서비스 사용, 구독 이벤트 또는 특정 목표에 적합한 다른 모든 것에 응답할 수 있습니다.

사용자 상호작용 처리

채팅 앱에서 할 수 있는 작업 사용자 상호작용을 수신하고 사용할 수 있습니다. 사용자 상호작용은 사용자가 사이트에서 채팅 앱을 호출하거나 상호작용합니다.

명령어 파서

명령 기반 채팅 앱이 Chat 앱 상호작용 이벤트 이 콘텐츠에서 명령어와 매개변수를 추출합니다 예를 들면 다음과 같습니다. Chat 사용자와 상호작용하기 위한 슬래시 명령어를 설정합니다.

또 다른 방법은 메시지를 토큰화하고 명령어를 추출한 다음 명령어를 각 명령어에 대한 핸들러 함수에 매핑하는 사전을 참조하세요.

대화상자 기반 사용자 인터페이스

대화 기반 앱은 Chat 앱 상호작용 이벤트 카드를 기반으로 한 대화상자 여기에 사용자가 다음과 같이 채팅 앱과 상호작용할 수 있습니다. 양식 작성 작업을 요청할 수 있습니다

사용자가 대화상자에서 작업을 실행할 때마다 새 상호작용 이벤트가 발생합니다. 채팅 앱으로 전송되며, 앱은 사용할 수 있습니다.

자연어 처리

자연어를 사용하는 많은 채팅 앱 구현 사용하여 사용자가 무엇을 요청하는지 결정합니다. 여러 가지 방법으로 원하는 방식으로 NLP를 구현할 수 있습니다.

NLP는 다음을 사용한 채팅 앱 구현: Dialogflow ES 또는 Dialogflow CX Chat 통합 가상 에이전트를 만들어 자동화된 대화 및 동적 리소스를 위한 확인할 수 있습니다

사전에 Chat에 요청 전송

채팅 앱에서도 사용자에게 메시지나 기타 요청을 채팅 기능은 채팅 대신 이러한 채팅 앱을 제3자 애플리케이션, 명령줄 사용자가 이와 상호작용할 수 없음 Chat에서 바로 채팅 앱을 사용할 수 있습니다.

비대화형 Chat 앱은 Chat API를 사용하여 채팅 메시지 또는 기타 유형의 요청에 응답합니다.

대화 패턴

채팅 앱이 다음과 같이 하는 방식을 고려해야 합니다. 상호작용하게 됩니다. 다음 섹션에서는 채팅 앱에서 구현할 수 있습니다.

호출 및 응답 (동기식)

동기 호출 및 응답 패턴에서 채팅 앱이 일대일로 진행될 수 있습니다 사용자가 채팅 앱에 보내는 1개의 메시지 다음과 같이 채팅 앱 응답 1개가 생성됩니다. 다음 다이어그램을 참조하세요.

동기 메시지의 아키텍처

위의 다이어그램에서 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 동기식 메시지를 채팅 앱(예: "다음 회의는 뭐야?")
  2. 채팅 앱은 사용자(예: " 실바 2:30".

이러한 유형의 대화 패턴의 경우 웹 서비스인 Pub/Sub를 사용하는 채팅 앱 아키텍처 Apps Script, AppSheet, Dialogflow 같은 도구를 사용할 수도 있습니다.

다중 응답 (비동기)

다중 응답 패턴에는 동기식 및 비동기식이 포함될 수 있음 메시지를 보낼 수 있습니다 이 패턴은 사용자 간의 양방향 통신이 특징입니다. 채팅 앱, 채팅 앱이 추가 메시지를 원하는 만큼 생성함 Cloud CDN을 사용 설정합니다

비동기 메시지의 아키텍처

위의 다이어그램에서 사용자는 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. 사용자가 동기식 메시지를 채팅 앱(예: '트래픽 모니터링')
  2. 채팅 앱은 사용자가 요청을 확인하도록 할 수 있습니다(예: '모니터링 사용').
  3. 나중에 채팅 앱은 하나 이상의 비동기식 사용자에게 메시지를 전송합니다(예: '새 트래픽').
  4. 사용자는 채팅 앱(예: '교통정보 무시')
  5. 채팅 앱은 사용자가 요청을 확인하도록 할 수 있습니다(예: '모니터링 사용 중지').

이러한 유형의 대화 패턴의 경우 웹 서비스인 Pub/Sub를 사용하는 채팅 앱 아키텍처 Apps Script, AppSheet 등이 있죠

이벤트 쿼리 또는 구독 (비동기)

비동기 이벤트 기반 패턴에서 채팅 앱은 Chat API를 쿼리하거나 Cloud Functions를 사용하여 Chat 스페이스 또는 사용자에게 Google Workspace Events API. 이벤트는 Chat의 변경사항을 나타냅니다. 리소스(예: 새 메시지가 게시될 때 또는 사용자가 스페이스에 참여할 때)가 포함됩니다. 이벤트 기반 채팅 앱 이벤트 페이로드를 검사하여 변경된 Chat에 대한 데이터를 가져옵니다. 적절하게 대응합니다

채팅 앱은 이벤트를 비롯하여 다양한 유형의 이벤트를 수신할 수 있습니다. 스페이스, 멤버십, 메시지, 반응에 대해 자세히 알아보세요. 사용자가 채팅 앱은 다음을 쿼리하여 이벤트를 수신합니다. Chat API 또는 활성 구독을 통해 그러면 채팅 앱은 선택적으로 이를 통해 비동기 응답을 Chat API

이러한 유형의 로직을 사용하여 티켓과 같은 외부 시스템을 업데이트할 수 있습니다. Chat 스페이스에 메시지 전송 비동기식으로(예를 들어 신규 사용자가 가입할 때 환영 메시지를 전송하는 방식) Chat 스페이스

다음 다이어그램은 이벤트 기반 대화의 예시를 보여줍니다. 패턴:

Chat 이벤트 구독 아키텍처

앞의 다이어그램에서 Chat과 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  1. Chat 앱이 Google Chat 스페이스를 구독해야 합니다.
  2. 채팅 앱이 구독 중인 스페이스입니다. 있습니다.
  3. Chat 앱은 구독의 알림 엔드포인트 역할을 하는 Pub/Sub 이 이벤트에는 리소스에서 변경된 사항에 대한 데이터가 포함됩니다.
  4. 채팅 앱은 이벤트를 포함하고 필요한 경우 조치를 취하는 Pub/Sub 메시지

이러한 유형의 대화 패턴의 경우 웹 서비스인 Pub/Sub를 사용한 채팅 앱 아키텍처 Apps Script에서 사용할 수 있습니다.

일정을 수신하고 응답하는 방법에 대해 자세히 알아보려면 다음을 참조하세요. Google Chat 이벤트의 일정 작업하기

Chat 앱의 단방향 메시지

채팅 앱 패턴의 단방향 메시지를 통해 채팅 앱이 비동기 메시지를 Chat 스페이스이지만 사용자가 채팅 앱 이 패턴은 대화적이거나 하지만 이 슬라이드에 나온 것처럼 알람 보고와 같은 기능에 다음 다이어그램을 참조하세요.

단방향 메시지의 아키텍처

앞의 다이어그램에서 채팅 앱에는 다음과 같은 정보 흐름이 있습니다.

  • 채팅 앱이 비동기 메시지 전송 Chat API를 호출하거나 웹훅에 게시하여 사용자에게 제공 URL(예: '큐 오버플로 알림')
  • 채팅 앱은 필요에 따라 채팅 앱에서 비동기 메시지를 표시합니다.

이러한 유형의 대화 패턴의 경우 웹 서비스, 웹훅을 사용한 채팅 앱 아키텍처 Apps Script, AppSheet, 명령줄 애플리케이션 또는 스크립트가 포함될 수 있습니다.

채팅 앱에 보내는 단방향 메시지

채팅 앱 패턴에 대한 단방향 메시지를 통해 사용자는 채팅 앱에 메시지를 보낼 때 요청을 처리하는 동안 채팅 앱이 응답하는 경우 이 아키텍처는 기술적으로는 가능하지만 이 패턴은 사용하지 않는 것이 좋습니다.