Page History
Cafe24API 호출제약에의해 로컬에서만 작동하는 백프레셔기를 바이브로 작성하고 유닛테스트까지 수행해보았습니다.
이전활동 : CAFE24-API 호출 안전처리기 by 백프레셔기법 활용
여기서 분산처리를 적용해야 한다고하면 기존 설계코드를 모두 변경하고 다양한 외부장치를 도입해 해당 장치에 적합한 개발방식으로 모두 변경해야할수도 있습니다.
액터모델의 특징이 동일한 개발패턴이 리모트또는 클러스터에 배치되어도 위치투명성(어디에 배치가 되었던 내 관심사가 아님)을 클러스터 툴에서 지원하기때문에
복잡한 멀티스레딩/네트워크 프로그래밍 없이 설계하고 작동시킬수 있습니다.
AKKA의 클러스터 개념
아카의 클러스터 특징은 다음 아티컬을 참고 by 아카장시자 요나스 보너
AKKA.net 영상 : 본방 AKKA의 컨셉과 동일
| Widget Connector | ||||||
|---|---|---|---|---|---|---|
|
로컬로 잘 작동된 액터모델을 클러스터로 확장하기
| Code Block | ||
|---|---|---|
| ||
## 1.0.6 - CAFE24 API호출 안전처리장치 by 백프레셔이용 - skill-test/plan/TEST-Cafe24APILimit.md : 이 지침에의해 로컬로의 검증활동이 완료되었습니다. - 이 지침및 결과물을 확인해 Kottlin Pekko Typed, Java Akka Classic, C# Akka.NET 3종 세트에 이 컨셉을 추가합니다. - 로컬 vs 클러스터 차이에따른 고려사항 - 제약은 Cafe24 내 MallId(기업구분) 별로 적용되며.. 로컬에서는 Mall구분이 없었으나~ 다양한 Mall을 분산배치 전략을 활용.. 샘플과 유사하게 Cafe24API 실호출없이 더미 API이용 - 클러스터 내에서 분산처리된 액터의 속도를 조절제어해야하며, 호출량 측정및 모니터링을 위해 클러스터 싱글통 액터가 이용될수 있습니다. - 기능이 추가됨에 따라 유닛테스트를 먼저작성하고 수행해주세요 ### 테스트지침 - 개선후 새로운 유닛테스트를 포함 기존유닛테스트가 잘유지되는지 검증합니다. 유닛테스트가 통과후 쿠버를 이용한 구동및 통합 클러스터 테스트를 수행해주세요 - 유닛테스트 검증이 완료되면 이어서 쿠버 인프라를 통해 클러스터 멤버가 잘 조인되는지 확인후...기능확인도 수행해(쿠버를 통한 로그획득기능을 통해) - 새로운 기능이 추가됨에따라 쿠버 구동후 신규기능에 대한 통합테스트도 수행해주세요 - 프로젝트당 쿠버작동이 모두 확인되면.. 그레이스풀 셧다운으로 종료 ### Kottlin Pekko Typed ``` kotlin-pekko-typed kotlin-pekko-typed-infra kotlin-pekko-typed-cluster kotlin-pekko-typed-test 스킬을 활용 다음경로 프로젝트 개선: skill-test/projects/sample-cluster-kotlin ``` ### Java Akka Classic ``` java-akka-classic java-akka-classic-infra java-akka-classic-test akka-testkit java-akka-classic-cluster 스킬을 활용해서 다음경로 프로젝트 개선 : skill-test/projects/sample-cluster-java ``` ### C# Akka.NET ``` dotnet-akka-net dotnet-akka-net-infra dotnet-akka-net-test dotnet-akka-net-cluster 스킬을 활용해서 다음경로 프로젝트 개선 : skill-test/projects/sample-cluster-dotnet ``` |
- skill-test/plan/TEST-Cafe24APILimit.md : 로컬개발및 테스트는 클러스터(쿠버) 확인전까지 훨씬 빠르게 디벨롭을 완성할수 있으며 기록한 활동을 클러스터 개발시 참고
활동링크 요약
- https://github.com/psmon/skill-actor-model/blob/main/skill-test/plan/TEST-Cluster-Improve-Part3.md - 플랜
- https://github.com/psmon/skill-actor-model/tree/main/skill-test/projects - 개선 대상 프로젝트
- https://github.com/psmon/skill-actor-model/blob/main/skill-test/TEST-RESULT-PART3-Improve.md - 플랜에 의해 개선된 사항
- https://github.com/psmon/skill-actor-model/blob/main/skill-test/TEST-RESULT-PART3.md - 플랜에 의해 검증된사항
...
