주문 서비스 관리
이 항목에서는 설립자 및 참가자가 주문 서비스를 관리하는 방법에 대한 정보를 제공합니다.
주문 서비스는 무엇입니까?
Oracle Blockchain Platform은 Raft를 합의 유형으로 지원합니다.
Raft 프로토콜의 Hyperledger Fabric 구현에 대한 자세한 내용은 주문 서비스 - Raft를 참조하십시오.
이전 Kafka 합의 유형을 사용하면 전체 네트워크가 최대 두 개의 주문자 노드를 가질 수 있으며 모든 채널에 가입해야합니다. 경우에 따라 오버로드될 수 있으며 스케일 아웃할 수 없습니다. Raft 합의 유형을 사용하면 네트워크는 임의의 수의 주문자 노드를 가질 수 있으며 각 채널은 자체 주문자 노드 세트를 정의할 수 있습니다. 채널마다 다른 주문자 노드를 사용할 수 있으며 주문자 노드는 더 이상 병목 현상이 되지 않습니다.
그러나 Raft 합의 유형은 제대로 구성하기가 복잡할 수 있습니다. 수행할 수 있거나 수행할 수 없는 작업에 대한 규칙이 있으며, 이러한 규칙을 따르지 않는 경우 채널 및 네트워크도 작동하지 않을 수 있습니다. 다음 지침에 따라 발생하는 문제를 줄여야 합니다.
OSN(주문 서비스 노드)의 대부분을 작동 상태로 유지
- 네트워크에서 작동 중인 OSN이 50% 이하인 경우 네트워크 관리가 더 이상 작동하지 않습니다. 새 채널을 생성할 수 없으며, 네트워크에 새 주문자 노드를 추가할 수 없고, 네트워크에서 주문자를 제거할 수 없습니다.
- 애플리케이션 채널에서 작업 중인 OSN이 50% 이하인 경우 이 애플리케이션 채널에 트랜잭션을 제출할 수 없습니다. 쿼리는 여전히 올바르게 작동할 수 있지만 새 조직 추가, 액세스 제어 목록 변경, 체인 코드 인스턴스화 또는 배포와 같은 관리 작업은 실패합니다.
새 OSN을 네트워크 또는 응용 프로그램 채널에 추가할 때는 주의하십시오. 소유자가 신뢰할 수 있고 OSN이 강력한지 확인하십시오.
OSN 또는 조직을 제거할 때는 OSN의 50% 이상이 계속 작동하는지 확인하십시오. 예를 들어 각각 OSN이 3개인 조직이 2개 있는 경우 한 조직을 제거하면 제거 중 OSN의 50%만 작동하는 것으로 해석됩니다. 관련 없는 조직을 삭제하기 전에 나머지 조직에 OSN을 추가하여 작동 중인 OSN의 50%를 항상 초과하도록 합니다.
주문자를 자주 추가하거나 제거하지 않음
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST
몇 분 동안 지속될 수 있습니다. 채널에서 이전 래프트 리더 OSN을 제거한 경우 20분 동안 지속될 수 있습니다.
주문자를 자주 추가하거나 제거하지 마십시오. 여러 주문자를 추가하거나 제거해야 하는 경우 다음 변경 작업을 수행하기 전에 한 번에 하나씩 네트워크가 작동 상태로 되돌아갔는지 확인합니다.
새 주문자가 가능한 빨리 시작되었는지 확인
네트워크에 새 주문자를 추가하면 일반적으로 두 개의 조직, 즉 새 주문자의 설립자와 소유자가 참여하게 됩니다. 양 당사자는 완료될 때까지 참가자 또는 확장 OSN을 설립자의 주문 서비스에 가입의 지침을 따라야 합니다. 그렇지 않으면 설립자가 네트워크를 관리할 수 없습니다.
설립자 주문 서비스에 참여하거나 OSN을 확장하십시오.
참가자 인스턴스를 프로비전하면 3명의 주문자가 생성됩니다. 주문자는 네트워크에 연결될 때까지 비활성 상태입니다. 설립자를 확장하면 새 주문자도 네트워크에 연결될 때까지 비활성 상태가 됩니다.
여러 주문자를 추가하거나 제거해야 하는 경우 다음 변경 작업을 수행하기 전에 한 번에 하나씩 네트워크가 작동 상태로 되돌아갔는지 확인합니다. 래프트 주문자 추가, 제거, 시작 및 중지에 대한 자세한 내용은 주문 서비스란?을 참조하십시오.
참가자 또는 스케일 아웃된 주문자에서 OSN 설정 익스포트
참여자 또는 확장 주문자를 네트워크에 연결하려면 해당 설정을 익스포트하여 설립자로 임포트해야 합니다.
-
참가자 콘솔(또는 스케일 아웃된 주문자에 대한 설립자 콘솔)의 노드 탭에서 주문자 노드(또는 다중 노드가 있는 경우 첫번째 주문자 노드)를 찾습니다. 이 노드에 대한 [작업] 메뉴를 선택하고 OSN 설정 익스포트를 선택합니다.
그러면 설정이 포함된 JSON 파일이 생성되고 파일이 저장됩니다. 이 파일에는 조직의 인증서와 참가자 조직의 관리자의 개인 키가 서명한 선택된 주문자 서비스 노드(OSN) 설정이 포함됩니다. 이 파일은 설립자 인스턴스의 관리자에게 전송되어야 합니다.
이 OSN을 사용하여 채널에서 실행 중인 응용 프로그램에도 이 내보낸 TLS 인증서가 필요합니다. 애플리케이션 개발 전을 참조하십시오.
-
설립자 콘솔에서 Network 탭을 엽니다. Add OSN(OSN 추가)을 누릅니다. 참가자가 제공한 JSON 파일의 위치를 묻는 창이 열립니다. 파일을 업로드하려면 선택하고 추가를 누릅니다.
가입자 조직 또는 새로 스케일아웃된 주문자가 시스템 채널 목록의 주문자 조직 섹션에 추가됩니다.
설립자의 구성 설정 내보내기
가입자 또는 스케일 아웃된 주문자가 설립자에 추가되면 설립자의 설정을 익스포트하여 참가자 또는 스케일 아웃된 주문자에게 임포트해야 합니다.
-
설립자 콘솔에서 Network 탭을 엽니다. 네트워크 구성 블록 익스포트를 누릅니다.
네트워크 구성 블록은 최신 시스템 채널 구성 블록을 포함합니다. 이를 저장하여 참가자 관리자에게 전송할 수 있습니다.
-
참가자 콘솔(또는 스케일 아웃된 주문자에 대한 설립자 콘솔)의 노드 탭에서 주문자 노드(또는 다중 노드가 있는 경우 첫번째 주문자 노드)를 찾습니다. 이 노드에 대한 작업 메뉴를 선택하고 네트워크 구성 블록 임포트를 선택합니다.
설립자 인스턴스 관리자가 보낸 파일을 입력하라는 메시지가 표시됩니다.
-
참가자 콘솔에서 노드 탭을 새로 고칩니다. 주문자 노드 상태가 "down"으로 나열되어야 합니다. [작업] 메뉴에서 시작을 선택합니다.
시작된 각 주문자 노드가 설립자의 Raft 클러스터에 추가됩니다.
주:
하나의 일괄 처리로 여러 OSN을 네트워크에 추가할 수 없습니다. 한 번에 하나의 OSN만 추가해야 합니다.네트워크에 대한 주문 서비스 설정 편집
설립자 인스턴스에 대한 주문 서비스 설정을 업데이트할 수 있습니다.
- 업데이트된 설정은 새 채널을 생성할 때 사용되며 기존 채널에는 적용되지 않습니다.
- 채널에 대한 주문 서비스 설정 편집에 설명된 대로 개별 기존 채널에 대한 주문 서비스 설정을 별도로 업데이트할 수 있습니다.
- 주문 서비스 설정을 변경하고 네트워크에 대해 실행 중인 응용 프로그램이 있는 경우 수정된 주문 서비스 설정을 사용하려면 해당 응용 프로그램을 수동으로 업데이트해야 합니다.
- 일반적이지는 않지만 일부 경우에는 일부 네트워크 참가자에게 다른 주문 서비스를 노출시킬 수 있습니다. 이 경우 업데이트된 네트워크 구성 블록을 내보내고 필요한 참가자가 개정된 설정을 가져옵니다. 참가자 또는 확장 OSN을 설립자의 주문 서비스에 참여를 참조하십시오.
주문 서비스 설정 보기
참가자의 Oracle Blockchain Platform 인스턴스로 임포트된 설립자의 주문 서비스 설정을 볼 수 있습니다.