KR102125354B1 - Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof - Google Patents

Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof Download PDF

Info

Publication number
KR102125354B1
KR102125354B1 KR1020180165524A KR20180165524A KR102125354B1 KR 102125354 B1 KR102125354 B1 KR 102125354B1 KR 1020180165524 A KR1020180165524 A KR 1020180165524A KR 20180165524 A KR20180165524 A KR 20180165524A KR 102125354 B1 KR102125354 B1 KR 102125354B1
Authority
KR
South Korea
Prior art keywords
supervisor
module
micro
micro service
microservice
Prior art date
Application number
KR1020180165524A
Other languages
Korean (ko)
Inventor
채화종
이종호
Original Assignee
주식회사 와이즈넛
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 와이즈넛 filed Critical 주식회사 와이즈넛
Priority to KR1020180165524A priority Critical patent/KR102125354B1/en
Priority to AU2019100085A priority patent/AU2019100085A4/en
Application granted granted Critical
Publication of KR102125354B1 publication Critical patent/KR102125354B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication

Abstract

The present invention relates to a micro-service architecture for processing big data. According to the present invention, a supervisor system for managing a micro-service module can configure a stable system in which errors of a partial micro-service module do not affect the entire system by independently managing errors which occur in the micro-service module configuring a service and blocking error propagation to an actor reference structure.

Description

마이크로 서비스 아키텍처를 사용하는 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템 및 그 방법{SUPERVISOR SYSTEM FOR MANAGING STREAMING BIGDATA PROCESSING MODULE USING MICRO SERVICE ARCHITECTURE AND METHOD THEREOF}SUPERVISOR SYSTEM FOR MANAGING STREAMING BIGDATA PROCESSING MODULE USING MICRO SERVICE ARCHITECTURE AND METHOD THEREOF}

본 발명은 빅테이터 처리 시스템에 관한 것으로, 특히 마이크로 서비스 아키텍처를 이용한 빅데이터 처리 시스템에 관한 것이다.The present invention relates to a big data processing system, and more particularly to a big data processing system using a micro service architecture.

빅데이터는 단순히 많은 정도가 아니라 기존 데이터 처리 방식으로 처리가 불가능할 정도로 어마어마한 양의 데이터를 의미한다. 따라서 종래의 데이터 처리 방식과는 다른 처리 방식이 필요하다. 또한 실시간으로 빅데이터를 분석하고 비즈니스에 활용하려는 시장의 요구가 커짐에 따라 빅데이터의 처리 시스템의 실시간 처리 능력 또한 요구되고 있다.Big data is not just a lot, but a huge amount of data that cannot be processed using existing data processing methods. Therefore, a processing method different from the conventional data processing method is required. In addition, as the market demand for analyzing and using big data in real time increases, real-time processing capability of the big data processing system is also required.

빅데이터의 실시간 처리를 위해서 하나의 큰 어플리케이션을 여러 개의 작은 어플리케이션 모듈로 분리하여 처리하는 마이크로 서비스 아키텍처(MSA: Micro Service Architecture)에 대한 관심도 높아지고 있다. 마이크로 서비스 아키텍처는 작은(Micro) 어플리케이션의 조합에 의해 서비스를 구현함으로써 복잡도를 낮출 수 있고 어플리케이션 단위의 변경 및 조합이 용이한 장점이 있다. 마이크로 서비스 아키텍처의 적용으로 분리된 어플리케이션 모듈 간의 데이터 송수신은 스트리밍 방식을 이용하여 실시간 빅데이터 처리 시스템을 구성할 수 있다.For real-time processing of big data, interest in micro service architecture (MSA) that separates and processes one large application into several small application modules is also increasing. The micro service architecture can reduce complexity by implementing a service by a combination of micro (micro) applications, and has an advantage of easy change and combination of application units. With the application of micro-service architecture, data transmission/reception between separated application modules can be constructed in real-time big data processing system using streaming method.

데이터 스트리밍 방식의 실시간 빅데이터 처리 시스템은 스트리밍 데이터의 처리 안정성이 보장되어야 한다. 예를 들어 동영상 같은 미디어 콘텐츠의 스트리밍은 스트리밍 중 데이터 손실이 발생해도 순간적인 픽셀 뭉개짐이 발생하는 정도에 그쳐 전체 미디어 콘텐츠를 소비하는 데 큰 문제가 되지는 않는다. 하지만 비즈니스 서비스를 제공하기 위해 사용되는 빅데이터 처리 시스템은 데이터 손실로 인한 잘못된 분석이나 데이터 처리 에러 발생으로 시스템이 중지된다면 비즈니스 서비스에는 치명적인 상황이 될 수 있다.The real-time big data processing system of the data streaming method must guarantee the processing stability of the streaming data. For example, streaming of media content such as a video does not become a major problem in consuming the entire media content as it is only a moment when pixel loss occurs during streaming. However, a big data processing system used to provide a business service can be a fatal situation for a business service if the system is stopped due to an incorrect analysis or data processing error due to data loss.

종래기술 중 하나인 대한민국 등록특허 제10-1563064호 발명은 빅데이터를 분산하여 저장하고 처리하는 시스템을 개시하고 있으나 오류 상황에 대한 대책은 제시하지 못하고 있다.Republic of Korea Patent Registration No. 10-1563064, which is one of the prior art, discloses a system for distributing, storing, and processing big data, but has not provided a countermeasure for an error situation.

본 발명의 발명자들은 이처럼 빅데이터를 실시간으로 처리하면서 발생하는 오류에 효과적으로 대응할 수 있는 빅데이터 처리 시스템과 방법을 개발하기 위해 노력해 왔고, 마이크로 서비스 모듈을 이용하여 모듈 별 독립적으로 발생한 에러를 처리함으로써 전체 시스템에 영향을 미치지 않는 빅데이터 처리 시스템을 완성하기에 이르렀다.The inventors of the present invention have tried to develop a big data processing system and method capable of effectively responding to errors occurring while processing big data in real time, and by using micro service modules to process errors generated independently for each module as a whole. It has come to complete the big data processing system that does not affect the system.

본 발명의 목적은 마이크로 서비스 아키텍처를 적용한 데이터 스트리밍 기반의 빅데이터 처리 시스템에서 마이크로 서비스 모듈 단위의 에러 대응 방안과 전략을 마련함으로써 전체 시스템의 안정성을 확보하는 데 있다.An object of the present invention is to secure the stability of the entire system by preparing an error countermeasure and a strategy for each microservice module in a data streaming-based big data processing system using a microservice architecture.

마이크로 서비스 모듈 단위의 에러 대응을 위해서는 전체 마이크로 서비스 모듈의 데이터 프로세싱 상황을 감독하는 수퍼바이저(Supervisor) 시스템을 제공하는 것이 본 발명의 또 다른 목적이다.Another object of the present invention is to provide a supervisor system that supervises the data processing situation of the entire micro service module in order to respond to errors in the micro service module unit.

한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 것이다.On the other hand, other objects not specified in the present invention will be additionally considered within a scope that can be easily deduced from the following detailed description and its effects.

본 발명은 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템에 관한 것으로, The present invention relates to a supervisor system for managing a streaming big data processing module,

본 발명의 수퍼바이저 시스템은, 복수의 마이크로 서비스 모듈과, 상기 복수의 마이크로 서비스 모듈을 관리하는 수퍼바이저(Supervisor)를 포함하되, The supervisor system of the present invention includes a plurality of micro service modules and a supervisor that manages the plurality of micro service modules,

상기 수퍼바이저는 상기 마이크로 서비스 모듈에서 발생하는 에러를 감지하고, 상기 에러의 종류에 따라 미리 정의된 대응 방안과 대응 전략을 적용하여 발생한 에러를 처리하는 것을 특징으로 한다.The supervisor detects an error occurring in the microservice module and processes the error generated by applying a predefined countermeasure and a corresponding strategy according to the type of the error.

상기 대응 방안은 계속(resume), 정지(stop), 재시작(restart) 및 확대(escalate)를 포함한다.The countermeasures include resume, stop, restart and escalate.

또한, 상기 대응 전략은 에러가 발생한 마이크로 서비스 모듈에만 적용하는 하나만 적용 전략(OneForOne)과 상기 수퍼바이저가 관리하는 모든 마이크로 서비스 모듈에 적용하는 모두 적용 전략(AllForOne)을 포함하는 것을 특징으로 한다.In addition, the response strategy is characterized in that it includes only one application strategy (OneForOne) applied to only the microservice module in which the error occurred and all application strategies (AllForOne) applied to all microservice modules managed by the supervisor.

바람직하게는 상기 마이크로 서비스 모듈 각각과 대응하는 액터 레퍼런스(ActorRef)를 더 포함하고, 상기 수퍼바이저와 마이크로 서비스 모듈간 혹은 상기 각 마이크로 서비스 모듈간 통신은 상기 액터 레퍼런스를 통해 이루어지는 것이 좋다.Preferably, the microservice module further includes an actor reference (ActorRef) corresponding to each of the microservice modules, and communication between the supervisor and the microservice module or between the microservice modules is preferably performed through the actor reference.

위와 같은 본 발명의 과제해결수단에 의해서 본 발명은 각각의 마이크로 서비스 모듈을 독립적으로 관리할 수 있는 수퍼바이저 시스템에 의해 다수의 모듈을 효과적으로 관리할 수 있는 효과가 있고, 독립된 마이크로 서비스 모듈의 에러가 다른 모듈에 전달되지 않아 안정된 시스템을 운영할 수 있는 장점이 있다.By the above-described problem solving means of the present invention, the present invention has an effect of effectively managing multiple modules by a supervisor system capable of independently managing each micro service module, and errors of independent micro service modules are different. There is an advantage that a stable system can be operated because it is not transmitted to the module.

한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.On the other hand, even if the effects are not explicitly mentioned herein, it is noted that the effects described in the following specification expected by the technical features of the present invention and the potential effects thereof are treated as described in the specification of the present invention.

도 1은 본 발명의 바람직한 어느 실시예에 따른 마이크로 서비스 아키텍처를 사용하는 수퍼바이저 시스템의 개략적인 전체 구조도이다.
도 2는 본 발명의 바람직한 어느 실시예에 따른 수퍼바이저 시스템이 수행되는 컴퓨터 시스템의 한 예를 나타낸다.
도 3은 본 발명의 바람직한 어느 실시예에 따른 에러 발생시의 대응 구조의 개략적인 흐름도이다.
도 4는 본 발명의 바람직한 어느 실시예에 따라 서비스 모듈을 재시작하는 경우의 흐름도이다.
도 5는 본 발명의 바람직한 어느 실시예에 따라 전체 모듈을 재시작하는 경우의 흐름도이다.
도 6은 본 발명의 바람직한 어느 실시예에 따라 상위 수퍼바이저로 수행을 확장하는 경우의 흐름도이다.
도 7은 본 발명의 바람직한 어느 실시예에 따라 자식(children) 모듈이 있는 경우의 에러 처리 방법의 흐름도이다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
1 is a schematic overall structural diagram of a supervisor system using a microservices architecture according to any preferred embodiment of the present invention.
2 shows an example of a computer system in which a supervisor system according to any preferred embodiment of the present invention is performed.
3 is a schematic flowchart of a corresponding structure when an error occurs according to an exemplary embodiment of the present invention.
4 is a flowchart of restarting a service module according to an exemplary embodiment of the present invention.
5 is a flowchart of restarting an entire module according to a preferred embodiment of the present invention.
6 is a flow chart for extending performance to a higher supervisor according to any preferred embodiment of the present invention.
7 is a flowchart of an error handling method when there is a child module according to an exemplary embodiment of the present invention.
※ The accompanying drawings indicate that they are exemplified by reference for understanding of the technical idea of the present invention, and the scope of the present invention is not limited thereby.

이하, 도면을 참조하여 본 발명의 다양한 실시예가 안내하는 본 발명의 구성과 그 구성으로부터 비롯되는 효과에 대해 살펴본다. 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, a configuration of the present invention guided by various embodiments of the present invention and effects resulting from the configuration will be described with reference to the drawings. In the description of the present invention, if it is determined that the subject matter of the present invention may be unnecessarily obscured by those skilled in the art with respect to known functions related thereto, the detailed description thereof will be omitted.

도 1은 본 발명의 바람직한 어느 실시예에 따른 마이크로 서비스 아키텍처를 사용하는 수퍼바이저 시스템의 개략적인 전체 구조도이다1 is a schematic overall structural diagram of a supervisor system using a micro service architecture according to any preferred embodiment of the present invention

본 발명에 따른 수퍼바이저 시스템은 기본적으로 수퍼바이저(110), 마이크로 서비스 모듈(210, 220, 230) 및 액터 레퍼런스(310, 320, 330)를 포함하여 이루어진다.The supervisor system according to the present invention basically comprises a supervisor 110, a micro service module 210, 220, 230, and an actor reference 310, 320, 330.

수퍼바이저(110)는 자신에게 속한 모든 마이크로 서비스 모듈(210, 220, 230)들의 데이터 프로세싱을 감독하고, 바이크로 서비스 모듈에서 에러가 발생하면 미리 정의된 대응 방안과 대응 전략에 따라 에러를 처리한다. 수퍼바이저(110) 상위에는 또 다른 상위 수퍼바이저(120)가 있을 수 있다. 상위 수퍼바이저(120)는 수퍼바이저(110)가 에러를 처리할 수 없는 상황일 때 대응을 확장(escalate)하면 이를 처리한다.The supervisor 110 supervises data processing of all micro service modules 210, 220, and 230 belonging to the supervisor 110 and processes errors according to a predefined countermeasure and a countermeasure strategy when an error occurs in the bike service module. There may be another upper supervisor 120 above the supervisor 110. The upper supervisor 120 handles this when the supervisor 110 escalates a response when the error cannot be handled.

마이크로 서비스 모듈(210, 220, 230)은 스트리밍 데이터를 처리하는 모듈이다. 데이터 처리 도중 에러가 발생하면 수퍼바이저(110)에게 발생된 에러를 메시지 형태로 보고하고 수퍼바이저(110)의 응답에 따라 에러를 처리한다. The micro service modules 210, 220, and 230 are modules that process streaming data. When an error occurs during data processing, the generated error is reported to the supervisor 110 in the form of a message, and the error is processed according to the response of the supervisor 110.

액터 레퍼런스(310, 320, 330)는 마이크로 서비스 모듈(210, 220, 230) 각각과 대응하며 마이크로 서비스 모듈(210, 220, 230)이 다른 마이크로 서비스 모듈 또는 수퍼바이저와 직접 연결되지 않도록 하기 위해 사용된다. 에러가 다른 모듈로 확산되지 않도록 차단하고 모듈 정지 등의 라이프사이클 변동에 따른 영향이 다른 모듈에 미치지 않게 하기 위함이다. The actor references 310, 320, 330 correspond to each of the micro service modules 210, 220, 230, and are used to prevent the micro service modules 210, 220, 230 from being directly connected to other micro service modules or supervisors. . This is to prevent errors from spreading to other modules and to prevent the effects of lifecycle changes such as module stoppage from affecting other modules.

액터 레퍼런스(310, 320, 330)와 연결되는 마이크로 서비스 모듈에서 처리해야 하는 메시지들은 액터 레퍼런스(310, 320, 330)의 메시지 큐를 통해 관리한다. 따라서 특정 마이크로 서비스 모듈이 다른 마이크로 서비스 모듈에 데이터를 전달하고자 할 때에는 타겟 모듈과 대응하는 액터 레퍼런스에 메시지를 전달함으로써 원하는 마이크로 서비스 모듈에 메시지를 전달할 수 있다.The messages to be processed in the micro service module connected to the actor reference (310, 320, 330) are managed through the message queue of the actor reference (310, 320, 330). Therefore, when a specific micro service module wants to transmit data to another micro service module, a message can be delivered to a desired micro service module by transmitting a message to an actor reference corresponding to the target module.

도 2는 본 발명의 마이크로 서비스 모듈을 사용하는 수퍼바이저 시스템이 수행되는 컴퓨터 시스템의 한 예를 나타낸다.2 shows an example of a computer system in which a supervisor system using the microservice module of the present invention is performed.

시스템에는 통신 유닛(12), 프로세서 유닛(14), 메모리 유닛(16) 및 데이터베이스(18)가 포함될 수 있다.The system may include a communication unit 12, a processor unit 14, a memory unit 16 and a database 18.

본 발명에 따른 수퍼바이저 시스템은 통신 유닛(12)을 통해 처리해야할 데이터 스트림을 주고받을 수 있고, 수신한 데이터 스트림을 프로세서 유닛(14)에 의해 처리한다.The supervisor system according to the present invention can exchange data streams to be processed through the communication unit 12 and process the received data streams by the processor unit 14.

메모리(16)는 다수의 프로그램 모듈과 데이터를 저장하는 기능을 제공한다. 다수의 프로그램 모듈은 운영체제, 하나 이상의 애플리케이션 프로그램, 기타 프로그램 모듈 등을 포함할 수 있다. 특히 본 발명에서는 상기 프로세서 유닛(14)에 의해 실행되어 상기 프로세서 유닛(14)으로 하여금 마이크로 서비스 모듈과 수퍼바이저 기능을 수행하는 컴퓨터 실행가능 명령어들을 저장하는 컴퓨터 판독가능 기록 매체가 메모리(16)에 포함된다. 이러한 기록 매체는 하드디스크, 이동식 자기 디스크, 이동식 광 디스크 및 데이터를 저장할 수 있는 기타 유형의 컴퓨터 판독가능 매체가 사용될 수 있다. 그런 예로는 플래시 메모리 카드, RAM, ROM을 포함한다.The memory 16 provides a function to store a number of program modules and data. The plurality of program modules may include an operating system, one or more application programs, and other program modules. In particular, in the present invention, the memory 16 includes a computer readable recording medium that is executed by the processor unit 14 to store computer executable instructions for performing the microservice module and supervisor function by the processor unit 14. do. The recording medium may be a hard disk, a removable magnetic disk, a removable optical disk, and other types of computer-readable media capable of storing data. Examples include flash memory cards, RAM, and ROM.

수퍼바이저 시스템은 스트리밍 데이터 저장을 위한 데이터베이스(18)를 포함할 수 있다. 데이터베이스(18)는 수퍼바이저 시스템 내부에 포함될 수도 있고 외부 서버에 포함되어 네트워크를 통해 접속하도록 할 수 있다.The supervisor system can include a database 18 for storing streaming data. The database 18 may be included in the supervisor system, or may be included in an external server to access the network.

도 3은 본 발명의 바람직한 어느 실시예에 따라 마이크로 서비스 모듈에서 발생한 에러를 수퍼바이저에서 처리하는 개략적인 흐름도를 나타낸다.Figure 3 shows a schematic flow diagram of processing in the supervisor the error occurred in the micro-service module according to any preferred embodiment of the present invention.

마이크로 서비스 모듈(210)에서 에러가 발생하면 이를 액터 레퍼런스(310)로 전송한다(S310).If an error occurs in the micro service module 210, it is transmitted to the actor reference 310 (S310).

액터 레퍼런스(310)는 에러 메시지를 수퍼바이저(110)로 전달한다(S320).The actor reference 310 transmits an error message to the supervisor 110 (S320).

수퍼바이저(110)는 에러의 종류에 따라 미리 정해진 대응 방안과 대응 전략에 의해 에러를 처리하게 된다. 에러에 대한 응답(response)를 액터 레퍼런스(310)에 전달하고(S330), 액터 레퍼런스(310)는 다시 마이크로 서비스 모듈(210)에 전달하여 에러를 처리하게 된다.The supervisor 110 processes errors according to a predetermined response method and response strategy according to the type of error. The response to the error (response) is transmitted to the actor reference 310 (S330), and the actor reference 310 is transmitted to the micro service module 210 again to process the error.

에러에 대한 응답이 '계속(Resume)'인 경우 에러를 유발한 메시지를 무시하고 마이크로 서비스 모듈(210)은 다음 작업을 계속한다.If the response to the error is'Resume', the message causing the error is ignored and the microservice module 210 continues with the next operation.

에러에 대한 응답이 '정지(Stop)'인 경우에는 에러가 발생한 마이크로 서비스 모듈(210)은 동작을 멈추게 되며, 에러 확산을 막기 위해 액터 레퍼런스(310)와의 연결도 끊기게 된다. 액터 레퍼런스(310)도 함께 정지되는 것은 아니므로 다른 모듈이나 수퍼바이저(110)에서 오는 메시지는 액터 레퍼런스(310)의 메시지 큐에 계속 쌓이게 된다. 쌓인 메시지들은 정지된 마이크로 서비스 모듈(210)을 대체하는 다른 마이크로 서비스 모듈이 시작되어 액터 레퍼런스(310)와 다시 연결되면 새로 시작된 마이크로 서비스에서 처리된다. 따라서 특정 마이크로 서비스 모듈이 정지되어도 전체 시스템이 정지되는 일은 발생하지 않는다.When the response to the error is'Stop', the micro service module 210 in which the error occurs stops operation, and the connection with the actor reference 310 is also disconnected to prevent the spread of the error. Since the actor reference 310 is not stopped together, messages from other modules or supervisors 110 are continuously accumulated in the message queue of the actor reference 310. The accumulated messages are processed by the newly started microservice when another microservice module replacing the stopped microservice module 210 is started and reconnected with the actor reference 310. Therefore, even if a specific micro service module is stopped, the entire system does not stop.

도 4는 본 발명의 바람직한 어느 실시예에 따라 마이크로 서비스 모듈을 재시작하는 경우의 개략적인 흐름도이다.4 is a schematic flowchart of restarting a micro service module according to an exemplary embodiment of the present invention.

마이크로 서비스 모듈(210)에서 발생한 에러 메시지는(S410) 액터 레퍼런스(310)를 통해 수퍼바이저(110)에 전달된다.The error message generated in the micro service module 210 is transmitted to the supervisor 110 through the actor reference 310 (S410).

수퍼바이저(110)는 에러에 따라 대응 방안으로 '재시작(Restart)'을 명령하게 되고, 에러에 대한 응답으로 액터 레퍼런스(310)를 거쳐(S430), 마이크로 서비스 모듈(210)에 전달되고, 새로운 마이크로 서비스 모듈(212)이 실행된다(S440).The supervisor 110 commands'Restart' as a countermeasure according to the error, and passes through the actor reference 310 in response to the error (S430) and is transmitted to the micro service module 210, and the new micro The service module 212 is executed (S440).

에러가 발생한 마이크로 서비스 모듈(210)은 정지되어 대응하는 액터 레퍼런스(310)와의 연결이 끊어지고, 새로운 마이크로 서비스 모듈(212)이 정지된 마이크로 서비스 모듈(210)의 역할을 수행한다. 이 과정에서 에러를 유발한 메시지는 폐기되거나 액터 레퍼런스(310)의 메시지 큐 맨 마지막에 다시 추가될 수도 있다.The micro-service module 210 in which the error occurs is stopped and the connection with the corresponding actor reference 310 is broken, and the new micro-service module 212 serves as the stopped micro-service module 210. In this process, the message causing the error may be discarded or added back to the end of the message queue of the actor reference 310.

도 5는 본 발명의 바람직한 어느 실시예에 따라 수퍼바이저가 '모두 적용(AllForOne)' 대응 전략으로 대응 방안을 지시한 경우의 개략적인 흐름도이다.5 is a schematic flowchart of a case in which a supervisor instructs a countermeasure with a'AllForOne' response strategy according to a preferred embodiment of the present invention.

앞서 예에서는 수퍼바이저가 에러가 발생한 마이크로 소프트 모듈에만 적용되는 '하나만 적용(OneForOne)' 대응 전략에 의해 대응을 지시한 경우이다.In the previous example, the supervisor instructed the response by the “OneForOne” response strategy applied only to the errored Microsoft module.

에러에 대한 대응으로 '계속', '정지' 또는 '재시작'을 지시하는 경우 에러가 발생한 마이크로 서비스 모듈에만 대응이 적용되고 다른 마이크로 서비스 모듈들은 영향을 받지 않는 것이 '하나만 적용' 대응 전략이다.In response to an error, if'continue','stop', or'restart' is instructed, the response strategy is applied only to the microservice module in which the error occurred and the other microservice modules are not affected.

이에 반해 '모두 적용' 대응 전략은 에러가 발생한 마이크로 서비스 모듈뿐 아니라 수퍼바이저가 관리하는 모든 마이크로 서비스 모듈에 지시가 전달되어 수행되는 것이다.On the other hand, the response strategy of'apply to all' is that the instructions are delivered to all the microservice modules managed by the supervisor as well as the microservice module in error.

제3 마이크로 서비스 모듈(230)에서 발생한 에러가 액터 레퍼런스(330)를 거쳐(S510) 수퍼바이저(110)로 전달되면, 수퍼바이저(110)는 '모두 적용' 대응 전략으로 모든 마이크로 서비스 모듈(210, 220, 230)에 '재시작'명령을 전달할 수 있다. '재시작' 명령을 전달받은 기존 마이크로 서비스 모듈(210, 220, 230)들은 모두 작동이 정지되고, 새로운 마이크로 서비스 모듈(212, 222, 232)들의 동작이 시작된다(S534, S535, S536). 이 때 '모두 적용'에 따라 '재시작'이 적용되는 마이크로 서비스 모듈은 에러가 발생한 제3 마이크로 서비스 모듈(230)과 동일한 깊이(Depth)에 존재하는 제1 마이크로 서비스 모듈(210)과 제2 마이크로 서비스 모듈(220)이다.When an error generated in the third micro service module 230 is transmitted to the supervisor 110 through the actor reference 330 (S510), the supervisor 110 uses all of the micro service modules 210 and 220 as a'all apply' response strategy. , 230). All of the existing micro service modules 210, 220, and 230 that have received the'restart' command are stopped, and operations of the new micro service modules 212, 222, and 232 are started (S534, S535, S536). At this time, the micro-service module to which'restart' is applied according to'apply all' is the first micro service module 210 and the second micro existing at the same depth as the third micro service module 230 in which an error occurs. Service module 220.

도 6은 본 발명의 바람직한 어느 실시예에 따라 '확장' 명령이 적용되는 경우의 개략적인 흐름도를 나타낸다.Figure 6 shows a schematic flow diagram when the'extend' command is applied according to any preferred embodiment of the present invention.

마이크로 서비스 모듈(220)에서 발생한 에러 메시지는 액터 레퍼런스를 통해 제1 수퍼바이저(110)로 전달된다(S510, S520).The error message generated in the micro service module 220 is transmitted to the first supervisor 110 through the actor reference (S510, S520).

제1 수퍼바이저(110)는 에러를 자체적으로 처리하지 못하는 경우 자신보다 상위의 수퍼바이저인 제2 수퍼바이저(120)에 '확장(Escalate)' 전달하고(S530, S540), 제2 수퍼바이저(120)는 에러에 대한 대응을 제1 수퍼바이저(110)를 거쳐 마이크로 서비스 모듈(220)에 전달하는 것이다. 도 6은 '하나만 적용'인 경우의 대응 방법을 나타내고, '모두 적용' 전략인 경우에는 제2 마이크로 서비스 모듈(220)과 같은 깊이에 있고 제1 수퍼바이저(110)의 관리하에 있는 모든 마이크로 서비스 모듈들에 적용될 수 있을 것이다.If the first supervisor 110 does not handle the error itself, it transmits'Escalate' to the second supervisor 120, which is a supervisor higher than itself (S530, S540), and the second supervisor 120 generates an error. Response to the microservice module 220 through the first supervisor 110. FIG. 6 shows a countermeasure in the case of'apply only one', and in the case of a'apply all' strategy, all micro service modules that are at the same depth as the second micro service module 220 and are managed by the first supervisor 110. It may be applied to the field.

도 7은 에러가 발생한 마이크로 서비스 모듈의 하위에 자식 마이크로 서비스 모듈이 있는 경우의 에러 대응 방안 흐름도를 나타낸다.7 is a flowchart illustrating an error response method when there is a child micro service module below a micro service module in which an error has occurred.

제2 마이크로 서비스 모듈(220)에 발생한 에러는 액터 레퍼런스(320)를 거쳐 수퍼바이저(110)에 전달되고(S610, S620), 수퍼바이저(110)는 이에 대한 응답으로 지시를 제2 마이크로 서비스 모듈(220)에 전달한다.The error generated in the second micro service module 220 is transmitted to the supervisor 110 via the actor reference 320 (S610, S620), and the supervisor 110 sends an instruction in response to the second micro service module 220 ).

제2 마이크로 서비스 모듈(220)에 전달된 수퍼바이저의 지시는 제2 마이크로 서비스 모듈(220)의 자식 마이크로 서비스 모듈들(240, 250, 260)에도 동일하게 적용된다(S651, S652, S653, S654, S655, S656)The instruction of the supervisor transmitted to the second micro service module 220 is equally applied to the child micro service modules 240, 250, 260 of the second micro service module 220 (S651, S652, S653, S654, S655, S656)

본 발명에 따른 스트리밍 빅데이터 처리를 위한 마이크로 서비스 아키텍처 관리를 위한 수퍼바이저 시스템 및 방법에 의하면 마이크로 서비스 모듈에서 발생하는 다양한 에러상황을 독립적으로 효과적으로 관리할 수 있으므로, 일무 마이크로 서비스 모듈의 에러가 전체 시스템에 영향을 주지 않는 안정적인 시스템의 구현이 가능한 장점이 있다.According to the supervisor system and method for managing a micro service architecture for processing streaming big data according to the present invention, various error conditions occurring in a micro service module can be effectively and independently managed. There is an advantage that it is possible to implement a stable system that does not affect.

참고로, 본 발명의 일 실시예에 따른 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 관리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독가능매체에 기록될 수 있다. 상기 컴퓨터 판독가능매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. For reference, a supervisor management method for managing a streaming big data processing module according to an embodiment of the present invention may be recorded in a computer readable medium by being implemented in the form of program instructions that can be performed through various computer means. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in computer software.

컴퓨터 판독가능매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급언어코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs, DVDs, magnetic-optical media such as floptical disks, and ROM, RAM, Hardware devices specifically configured to store and execute program instructions, such as flash memory, may be included. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine codes such as those produced by a compiler. The above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.The scope of protection of the present invention is not limited to the description and expression of the embodiments explicitly described above. In addition, it is once again pointed out that the scope of the present invention may not be limited by the obvious changes or substitutions in the technical field to which the present invention pertains.

Claims (4)

복수의 마이크로 서비스 모듈과, 상기 복수의 마이크로 서비스 모듈을 관리하는 수퍼바이저(Supervisor)를 포함하되,
상기 수퍼바이저는 자기에 속한 모든 마이크로 서비스 모듈의 데이터 프로세싱을 감독하며 상기 마이크로 서비스 모듈에서 발생하는 에러를 감지하고, 상기 에러의 종류에 따라 미리 정의된 대응 방안과 대응 전략을 적용하여 발생한 에러를 처리하며,
상기 마이크로 서비스 모듈 각각과 대응하는 액터 레퍼런스(ActorRef)를 더 포함하고, 상기 수퍼바이저와 마이크로 서비스 모듈간 혹은 상기 각 마이크로 서비스 모듈간 통신은 상기 액터 레퍼런스를 통해 이루어짐으로써 에러가 다른 마이크로 서비스 모듈로 확산되지 않도록 차단하는, 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템.
It includes a plurality of micro-service module, and a supervisor (Supervisor) for managing the plurality of micro-service module,
The supervisor supervises the data processing of all micro service modules belonging to it, detects errors occurring in the micro service module, and processes errors generated by applying predefined countermeasures and countermeasures according to the type of the error. ,
The microservice module further includes an actor reference (ActorRef) corresponding to each of the microservice modules, and communication between the supervisor and the microservice module or between the microservice modules is performed through the actor reference so that errors are not spread to other microservice modules. Supervisor system for management of streaming big data processing module, which prevents blocking.
제1항에 있어서,
상기 대응 방안은 계속(resume), 정지(stop), 재시작(restart) 및 확대(escalate)를 포함하는 것을 특징으로 하는, 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템.
According to claim 1,
The countermeasure is characterized in that it includes (resume), stop (stop), restart (restart) and escalate (escalate), supervisor system for streaming big data processing module management.
제1항에 있어서,
상기 대응 전략은 에러가 발생한 마이크로 서비스 모듈에만 적용하는 하나만 적용 전략(OneForOne)과 상기 수퍼바이저가 관리하는 모든 마이크로 서비스 모듈에 적용하는 모두 적용 전략(AllForOne)을 포함하는 것을 특징으로 하는, 스트리밍 빅데이터 처리 모듈 관리를 위한 수퍼바이저 시스템.
According to claim 1,
The response strategy includes one application strategy (OneForOne) applied only to the microservice module in which the error occurred, and all application strategy (AllForOne) applied to all microservice modules managed by the supervisor, streaming big data processing Supervisor system for module management.
삭제delete
KR1020180165524A 2018-12-19 2018-12-19 Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof KR102125354B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180165524A KR102125354B1 (en) 2018-12-19 2018-12-19 Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof
AU2019100085A AU2019100085A4 (en) 2018-12-19 2019-01-25 Supervisor system for managing streaming big data processing module using micro-service architecture and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180165524A KR102125354B1 (en) 2018-12-19 2018-12-19 Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof

Publications (1)

Publication Number Publication Date
KR102125354B1 true KR102125354B1 (en) 2020-06-22

Family

ID=65441160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180165524A KR102125354B1 (en) 2018-12-19 2018-12-19 Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof

Country Status (2)

Country Link
KR (1) KR102125354B1 (en)
AU (1) AU2019100085A4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102554445B1 (en) * 2022-09-07 2023-07-11 주식회사 브로넥스 Artificial intelligence-based metaverse and blockchain mixed education system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685261B (en) * 2021-01-05 2022-10-04 武汉长江通信智联技术有限公司 Micro-service operation state monitoring method based on observer mode

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160109300A (en) * 2015-03-10 2016-09-21 한국전자통신연구원 Method and Apparatus for managing distributed cloud
KR20170085072A (en) * 2014-11-11 2017-07-21 아마존 테크놀로지스, 인크. System for managing and scheduling containers
KR101807806B1 (en) * 2017-05-02 2017-12-11 나무기술 주식회사 Application containerization method on cloud platform
KR101835431B1 (en) * 2016-09-01 2018-03-09 주식회사 시큐아이 Data update method of containers in virtual system and apparatus thereof
JP2018518762A (en) * 2015-05-28 2018-07-12 オラクル・インターナショナル・コーポレイション Automatic anomaly detection and resolution system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170085072A (en) * 2014-11-11 2017-07-21 아마존 테크놀로지스, 인크. System for managing and scheduling containers
KR20160109300A (en) * 2015-03-10 2016-09-21 한국전자통신연구원 Method and Apparatus for managing distributed cloud
JP2018518762A (en) * 2015-05-28 2018-07-12 オラクル・インターナショナル・コーポレイション Automatic anomaly detection and resolution system
KR101835431B1 (en) * 2016-09-01 2018-03-09 주식회사 시큐아이 Data update method of containers in virtual system and apparatus thereof
KR101807806B1 (en) * 2017-05-02 2017-12-11 나무기술 주식회사 Application containerization method on cloud platform

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102554445B1 (en) * 2022-09-07 2023-07-11 주식회사 브로넥스 Artificial intelligence-based metaverse and blockchain mixed education system
KR102613069B1 (en) * 2022-09-07 2023-12-12 주식회사 브로넥스 Block chain network based failure response process management system
WO2024053789A1 (en) * 2022-09-07 2024-03-14 주식회사 브로넥스 Process management system using micro-service architecture based on blockchain network

Also Published As

Publication number Publication date
AU2019100085A4 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP5656799B2 (en) Appropriate alert delivery method, system and computer program
US9201759B2 (en) Debugging applications in the cloud
US9117019B2 (en) Debugging remote software applications across WAN connections
US20200074329A1 (en) Intelligent adaptor service in unified automation platforms for robotic process automation
WO2021203979A1 (en) Operation and maintenance processing method and apparatus, and computer device
US20100153482A1 (en) Cloud-Based Automation of Resources
US20190286736A1 (en) Resource-efficient record processing in unified automation platforms for robotic process automation
US20120331485A1 (en) Flexible Event Data Content Management For Relevant Event And Alert Analysis Within A Distributed Processing System
KR102125354B1 (en) Supervisor system for managing streaming bigdata processing module using micro service architecture and method thereof
US10592296B2 (en) Maintaining state information in a multi-component, event-driven state machine
US20140304553A1 (en) Grouping Failure Events with Adaptive Polling and Sliding Window Buffering
WO2019242455A1 (en) Method and apparatus for user request forwarding, reverse proxy and computer readable storage medium
US8973002B1 (en) Business rules batch processor
CN102970330B (en) Mutual between a kind of browser realize method and apparatus
US10986112B2 (en) Method for collecting cyber threat intelligence data and system thereof
CN111526049B (en) Operation and maintenance system, operation and maintenance method, electronic device and storage medium
US10122602B1 (en) Distributed system infrastructure testing
CN111917814B (en) Data publishing method, data subscribing method, data publishing device, data subscribing system and readable storage medium
US20180302486A1 (en) Proxy apparatus and method for data collection
US20210334185A1 (en) Task based service management platform
CN113259493B (en) Ukey information acquisition method, device, equipment and storage medium based on Ukey cabinet
US8275882B2 (en) System and method for goal driven threshold setting in distributed system management
US9959133B2 (en) Identification and removal of zombie virtual machines
CN109324892B (en) Distributed management method, distributed management system and device
US20080016192A1 (en) System and Method for Performing an Administrative Task upon the Occurrence of a Triggering Event

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant