기존 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 파일을 참고하십시오.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IkVkd2FyZCIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJFZHdhcmQiLCJsYW5ndWFnZSI6ImVuIiwiZGlhZ3JhbURpc3BsYXlOYW1lIjoiIiwic0ZpbGVJZCI6IiIsImF0dElkIjoiNjM5MzExODAiLCJkaWFncmFtTmFtZSI6ImFyY2hpdGVjdHVyZSIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJDb25maWd1cmF0aW9uIENvbnRyb2xsZXIgU2VydmljZSIsInRic3R5bGUiOiJ0b3AiLCJjYW5Db21tZW50IjpmYWxzZSwiZGlhZ3JhbVVybCI6IiIsImNzdkZpbGVVcmwiOiIiLCJib3JkZXIiOmZhbHNlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjYzOTMwOTE2LCJlZGl0YWJsZSI6ZmFsc2UsImNlb0lkIjo2MzkzMDkxNiwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6MSwibWFjcm9JZCI6ImUyNWEwY2U5LThmNjAtNDA4Ni1hNjQ4LTFiMTRkZmQxNjc1OSIsInByZXZpZXdOYW1lIjoiYXJjaGl0ZWN0dXJlLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiI2OTEiLCJzaW1wbGVWaWV3ZXIiOmZhbHNlLCJsYXN0TW9kaWZpZWQiOjE2NzgwODYwNjM5NzgsImV4Y2VlZFBhZ2VXaWR0aCI6ZmFsc2UsIm9DbGllbnRJZCI6IiJ9
만약에 Processor에서 이 Configuration Controller Service를 참고하려면 POM에서 다음을 추가합니다.
<dependency>
<groupId>org.opencloudengine.dfm</groupId>
<artifactId>dfm-configuration-api</artifactId>
<version>1.0.0</version>
</dependency>