기존 Processor에서 AWS S3에 파일을 계속 로딩하는 경우 다음의 문제가 있습니다.
- FlowFile이 유일될때 FlowFile을 계속 로딩하면 부하가 발생합니다.
- Processor가 초기화될 때 Configuration을 로딩하면 많은 Processor에서 로딩하는 기능을 모두 추가해야 합니다.
이 Controller Service는 다수의 Processor에서 가져다 사용할 수 있도록 Configuration 정보를 AWS S3 등에서 빈번하게 로딩하지 않도록 하고, 캐슁을 통해서 빠르게 정보를 가져올 수 있도록 하는 기능을 제공합니다.
- AWS S3에서 Controller Service가 초기화 시점에서 Configuration을 로딩합니다.
- reload() 를 호출하면 다시 로딩합니다.
관련 소스코드는 https://github.com/TheOpenCloudEngine/dfm-configuration-services에 공개되어 있습니다. 세부적인 내용은 README.md 파일을 참고하십시오.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IkVkd2FyZCIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJFZHdhcmQiLCJsYW5ndWFnZSI6ImtvIiwidWlDb25maWciOiJ7fSIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjYzOTMxMTgwIiwiZGlhZ3JhbU5hbWUiOiJhcmNoaXRlY3R1cmUiLCJhc3BlY3QiOiIiLCJsaW5rcyI6ImF1dG8iLCJjZW9OYW1lIjoiQ29uZmlndXJhdGlvbiBDb250cm9sbGVyIFNlcnZpY2UiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjpmYWxzZSwibWF4U2NhbGUiOiIxIiwib3duaW5nUGFnZUlkIjo2MzkzMDkxNiwiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6NjM5MzA5MTYsInBhZ2VJZCI6IiIsImxib3giOnRydWUsInNlcnZlckNvbmZpZyI6eyJlbWFpbHByZXZpZXciOiIxIn0sIm9kcml2ZUlkIjoiIiwicmV2aXNpb24iOjEsIm1hY3JvSWQiOiJlMjVhMGNlOS04ZjYwLTQwODYtYTY0OC0xYjE0ZGZkMTY3NTkiLCJwcmV2aWV3TmFtZSI6ImFyY2hpdGVjdHVyZS5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoiNjkxIiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNjc4MDg2MDYzOTc4LCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==
만약에 Processor에서 이 Configuration Controller Service를 참고하려면 POM에서 다음을 추가합니다.
<dependency>
<groupId>org.opencloudengine.dfm</groupId>
<artifactId>dfm-configuration-api</artifactId>
<version>1.0.0</version>
</dependency>