

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# MES에서 마이크로서비스의 통합 접근 방식 결정
<a name="integration"></a>

마이크로서비스 기반 MES에서 service-to-service 통신은 데이터를 교환하고, 정보를 공유하고, 원활한 운영을 보장하는 데 필수적입니다. MES 마이크로서비스는 특정 이벤트에 대한 데이터를 정기적으로 교환할 수 있습니다. 예를 들어 사용자는 프로덕션 확인 트랜잭션 중에 프로덕션 수량을 제공할 수 있습니다. 이러한 트랜잭션은 백그라운드에서 ERP로 정보 전송, 머신의 실행 시간 캡처, 제품에 대한 품질 정보 캡처, 작업 시간 보고와 같은 여러 트랜잭션을 시작할 수 있습니다. 다양한 마이크로서비스가 이러한 작업을 담당할 수 있지만 단일 이벤트는 단일 마이크로서비스를 통해 모든 작업을 시작합니다.

또한 MES는 외부 시스템과 통합되어 제조 작업을 최적화하고end-to-end 디지털 스레드를 연결하고, 프로세스 자동화를 수행합니다. 마이크로서비스 기반 MES를 구축할 때는 내부 및 외부 서비스와의 통합을 처리하기 위한 전략을 결정해야 합니다.

다음 기능 패턴은 필요한 통신 유형에 따라 올바른 기술을 선택하는 지침을 제공합니다.

## 동기식 통신
<a name="integration-synchronous"></a>

동기식 통신 패턴에서 호출 서비스는 엔드포인트로부터 응답을 받을 때까지 차단됩니다. 엔드포인트는 일반적으로 추가 처리를 위해 다른 서비스를 호출할 수 있습니다. MES에는 지연 시간에 민감한 트랜잭션을 위한 동기 통신이 필요합니다. 예를 들어 한 사용자가 주문에 대한 작업을 완료하는 연속 프로덕션 라인을 가정해 보겠습니다. 다음 사용자는 다음 작업을 위해 해당 주문이 즉시 도착할 것으로 예상합니다. 이러한 트랜잭션이 지연되면 제품의 주기 시간 및 공장 성능 KPIs에 부정적인 영향을 미치고 추가 대기 시간과 리소스 사용 부족이 발생할 수 있습니다.

![MES의 동기식 통신](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/mes-on-aws/images/sync.png)


## 비동기 통신
<a name="integration-asynchronous"></a>

이 통신 패턴에서 호출자는 엔드포인트 또는 다른 서비스의 응답을 기다리지 않습니다. MES는 비즈니스 트랜잭션에 부정적인 영향을 주지 않고 지연 시간을 허용할 수 있는 경우이 패턴을 채택합니다. 예를 들어 사용자가 시스템을 사용하여 작업을 완료하면 해당 시스템의 실행 시간을 유지 관리 마이크로서비스에 보고할 수 있습니다. 실행 시간을 업데이트해도 이벤트가 즉시 시작되거나 작업 완료에 영향을 미치지 않으므로이 통신은 비동기식일 수 있습니다.

![MES의 비동기 통신](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/mes-on-aws/images/async.png)


## 게시/구독 패턴
<a name="integration-pub-sub"></a>

게시-구독(pub/sub) 패턴은 비동기 통신을 추가로 확장합니다. MES가 성숙해지고 마이크로서비스 수가 증가함에 따라 상호 의존적 커뮤니케이션 관리가 어려워질 수 있습니다. 수신해야 하는 새 서비스를 추가할 때마다 호출자 서비스를 변경하지 않을 수 있습니다. pub/sub 패턴은 긴 결합 없이 여러 마이크로서비스 간에 비동기 통신을 활성화하여이 문제를 해결합니다. 이 패턴에서 마이크로서비스는 구독자 마이크로서비스가 수신할 수 있는 채널에 이벤트 메시지를 게시합니다. 따라서 새 서비스를 추가할 때 게시 서비스를 변경하지 않고 채널을 구독합니다. 예를 들어 프로덕션 보고서 또는 작업 완료 트랜잭션은 여러 로그 및 트랜잭션 기록 레코드를 업데이트할 수 있습니다. 시스템, 인력, 인벤토리, 외부 시스템 등에 대한 새 로깅 서비스를 추가할 때마다 이러한 트랜잭션을 수정하는 대신 원래 트랜잭션의 메시지를 구독하고 별도로 처리할 수 있습니다.

![MES의 게시/구독 통신](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/mes-on-aws/images/pub-sub.png)


## 하이브리드 통신
<a name="integration-hybrid"></a>

하이브리드 통신 패턴은 동기식 및 비동기식 통신 패턴을 결합합니다.

AWS 는 원하는 통신 패턴을 생성하기 위해 다양한 방식으로 결합할 수 있는 여러 [서버리스 서비스를](https://aws.amazon.com/serverless/) 제공합니다. 다음 표에는 몇 가지 주요 AWS 서비스와 주요 기능이 나와 있습니다.


| **AWS 서비스** | **설명** | **패턴 지원** | 
| --- |--- |--- |
| **동기식** | **비동기식** | **게시/구독** | 
| --- |--- |--- |
| [Amazon API Gateway](https://aws.amazon.com/api-gateway/) | 마이크로서비스가 다른 마이크로서비스의 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있도록 합니다.   API Gateway는 세 가지 통신 패턴 모두에 대한 동시 API 호출을 수락하고 처리합니다. | ✓ | ✓ | ✓ | 
| [AWS Lambda](https://aws.amazon.com/lambda/) | 서버를 관리하지 않고도 코드를 실행할 수 있는 서버리스 이벤트 기반 컴퓨팅 기능을 제공합니다. 기업은 Lambda를 사용하여 데이터베이스 및 스토리지 AWS 서비스와 같은 다른 서비스 간에 데이터를 분리, 처리 및 전달할 수 있습니다. | ✓ | ✓ | ✓ | 
| [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/) | application-to-application(A2A) 및 application-to-person(A2P) 메시징을 지원합니다. A2A는 분산 시스템, 마이크로서비스 및 서버리스 애플리케이션 간에 높은 처리량의 푸시 기반 메시징을 제공합니다. A2P 기능을 사용하면 SMS 문자, 푸시 알림 및 이메일을 사용하여 사용자에게 메시지를 보낼 수 있습니다. |   | ✓ | ✓ | 
| [Amazon Simple Queue Service(Amazon SQS)](https://aws.amazon.com/sqs/) | 메시지를 잃거나 다른 서비스를 사용할 필요 없이 볼륨에 관계없이 소프트웨어 구성 요소 간에 메시지를 전송, 저장 및 수신할 수 있습니다. |   | ✓ | ✓ | 
| [Amazon EventBridge](https://aws.amazon.com/eventbridge/) | 코드를 작성하지 않고도 마이크로서비스 또는 마이크로서비스 내 AWS 서비스의 데이터 변경으로 인해 발생하는 이벤트에 실시간으로 액세스할 수 있습니다. 그런 다음이 이벤트를 수신, 필터링, 변환, 라우팅하고 대상으로 전달할 수 있습니다. |   | ✓ | ✓ | 
| [Amazon MQ](https://aws.amazon.com/amazon-mq/) | 메시지 브로커의 설정, 작업 및 관리를 간소화하는 관리형 메시지 브로커 서비스입니다 AWS. 메시지 브로커를 사용하면 다양한 플랫폼에서 다양한 프로그래밍 언어를 사용하는 소프트웨어 시스템이 정보를 통신하고 교환할 수 있습니다. |   |   | ✓ | 

자세한 내용은 AWS 권장 가이드 웹 사이트의 [AWS 서버리스 서비스를 사용하여 마이크로서비스 통합](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-integrating-microservices/welcome.html)을 참조하세요.