1 |
1
메시지들을 분할 저장하는 복수의 파티션들;복수의 컨슈머들을 포함하는 컨슈머 그룹, 하나의 파티션에 저장된 메시지들은 상기 컨슈머 그룹에 포함된 하나의 컨슈머에 의해 처리되고; 및상기 하나의 컨슈머가 상기 하나의 파티션을 처리하는 동안,상기 복수의 파티션들에 대한 리스트 정보, 및 각 컨슈머와 상기 각 컨슈머에 할당된 파티션 간의 매핑 정보를 포함하는 메타 데이터를 관리하는 메시지 파티셔닝 모듈; 을 포함하고,상기 메시지 파티셔닝 모듈은, 동적 재분배 오퍼레이션이 수행될 때 마다 상기 메타 데이터를 업데이트하고,상기 동적 재분배 오퍼레이션은 상기 메시지 파티셔닝 모듈에 의해 수행되는 것으로서:상기 복수의 컨슈머들 중에서 할당된 파티션이 없는 컨슈머가 존재하는지 판단하는 프로세스;복수의 파티션들 중에서 메시지들의 수가 최대값인 제1 파티션을 선택하고,상기 제1 파티션에 남아 있는 메시지들을 반으로 균등 분할하고, 2개의 신규 파티션을 생성하여 상기 균등 분할된 메시지들을 상기 2개의 신규 파티션에 각각 저장하는 프로세스; 및상기 할당된 파티션이 없는 컨슈머와, 상기 제1 파티션에 할당되었던 컨슈머에 상기 2개의 신규 파티션을 각각 할당하는 프로세스; 를 포함하는,분산 메시지 시스템
|
2 |
2
삭제
|
3 |
3
제 1 항에 있어서, 상기 동적 재분배 오퍼레이션은, 소정 주기에 따라, 또는 상기 컨슈머 그룹에 변화가 발생할 때 마다 수행되는 것을 특징으로 하는 분산 메시지 시스템
|
4 |
4
제 3 항에 있어서, 상기 컨슈머 그룹에 변화가 발생하는 경우는,상기 컨슈머 그룹에 새로운 컨슈머가 참여하는 경우, 상기 복수의 컨슈머들 중 적어도 하나의 컨슈머가 자신에게 할당된 파티션에 저장된 메시지를 모두 처리한 경우, 및 상기 복수의 컨슈머들 중 적어도 하나의 컨슈머가 자신에게 할당된 파티션에 저장된 메시지를 처리하지 못하고 종료된 경우 중 어느 하나인 것을 특징으로 하는 분산 메시지 시스템
|
5 |
5
삭제
|
6 |
6
제 1 항에 있어서,상기 판단하는 프로세스 이전에, 상기 메타 데이터를 생성하는 프로세스;를 더 포함하는 것을 특징으로 하는 분산 메시지 시스템
|
7 |
7
제 1 항에 있어서,상기 제1 파티션은 상기 복수의 파티션들 중에서 처리되어야 할 메시지들이 가장 많이 남은 파티션인 것을 특징으로 하는 분산 메시지 시스템
|
8 |
8
제 1 항에 있어서,상기 판단하는 프로세스 이후에, 상기 제1 파티션에 남아 있는 메시지의 수를 임계값과 비교하는 프로세스; 를 더 포함하는 것을 특징으로 하는 분산 메시지 시스템
|
9 |
9
제 1 항에 있어서,상기 메타 데이터는, 상기 복수의 컨슈머들에 대한 리스트 정보를 더 포함하는 것을 특징으로 하는 분산 메시지 시스템
|
10 |
10
하나의 파티션에 저장된 메시지들은 복수의 컨슈머들을 포함하는 컨슈머 그룹에 포함된 하나의 컨슈머에 의해 처리하는 동적 파티셔닝 방법에 있어서,복수의 파티션들이 메시지들을 분할 저장하는 단계;상기 복수의 파티션들에 대한 리스트 정보, 및 각 컨슈머와 상기 각 컨슈머에 할당된 파티션 간의 매핑 정보를 포함하는 메타 데이터를 관리하는 단계;상기 하나의 컨슈머가 상기 하나의 파티션을 처리하는 동안, 동적 재분배 오퍼레이션이 수행될 때 마다 상기 메타 데이터를 업데이트하는 단계;상기 복수의 컨슈머들 중에서 할당된 파티션이 없는 컨슈머가 존재하는지 판단하는 단계; 를 포함하고, 복수의 파티션들 중에서 메시지들의 수가 최대값인 제1 파티션을 선택하고,상기 제1 파티션에 남아 있는 메시지들을 반으로 균등 분할하고, 2개의 신규 파티션을 생성하여 상기 균등 분할된 메시지들을 상기 2개의 신규 파티션에 각각 저장하고,상기 할당된 파티션이 없는 컨슈머와, 상기 제1 파티션에 할당되었던 컨슈머에 상기 2개의 신규 파티션을 각각 할당하는,분산 메시지 시스템에서의 동적 파티셔닝 방법
|
11 |
11
삭제
|
12 |
12
제 10 항에 있어서,상기 메타 데이터는, 상기 복수의 컨슈머들에 대한 리스트 정보를 더 포함하는 것을 특징으로 하는 분산 메시지 시스템에서의 동적 파티셔닝 방법
|
13 |
13
제 10 항에 있어서,상기 제1 파티션은 상기 복수의 파티션들 중에서 처리되어야 할 메시지들이 가장 많이 남은 파티션인 것을 특징으로 하는 분산 메시지 시스템에서의 동적 파티셔닝 방법
|
14 |
14
제 10 항에 있어서,상기 판단하는 단계 이후에, 상기 제1 파티션에 남아 있는 메시지의 수를 임계값과 비교하는 단계; 를 더 포함하는 것을 특징으로 하는 분산 메시지 시스템에서의 동적 파티셔닝 방법
|
15 |
15
복수의 파티션들이 메시지들을 분할 저장하는 단계;상기 복수의 파티션들에 대한 리스트 정보, 및 각 컨슈머와 상기 각 컨슈머에 할당된 파티션 간의 매핑 정보를 포함하는 메타 데이터를 관리하는 단계;컨슈머가 상기 컨슈머에 대한 파티션에 할당된 동안, 동적 재분배 오퍼레이션이 수행될 때 마다 상기 메타 데이터를 업데이트하는 단계;복수의 파티션들 중에서 메시지들의 수가 최대값인 제1 파티션을 선택하는 단계;상기 제1 파티션에 남아 있는 메시지들을 반으로 균등 분할하고, 2개의 신규 파티션을 생성하여 상기 균등 분할된 메시지들을 상기 2개의 신규 파티션에 각각 저장하는 단계;상기 할당된 파티션이 없는 컨슈머와, 상기 제1 파티션에 할당되었던 컨슈머에 상기 2개의 신규 파티션을 각각 할당하는 단계; 를 수행하도록 프로그래밍된 프로그램을 저장한 컴퓨터에서 판독 가능한 저장매체
|