Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

이전활동 : CAFE24-API 호출 안전처리기 by 백프레셔기법 활용

Info

이번장에서는 로컬로만 작성된 액터를 클러스터로 확장을 바이브를 통해 시도해보겠습니다.

왜 액터 모델은 클러스터 확장에 유리한가?

전통적인 스레드 기반 동시성 모델은 공유 메모리와 Lock을 사용하며, 이를 분산 환경으로 확장하려면 네트워크 프로그래밍, 분산 락(Distributed Lock), 메시지 큐(Kafka, RabbitMQ 등) 같은 외부 인프라를 별도로 구축해야 합니다. 반면 액터 모델은 설계 자체가 분산 환경을 전제하고 있어 근본적으로 다른 접근을 제공합니다.

...

아카의 클러스터 특징은 다음 아티컬을 참고 by 아카장시자 요나스 보너

Image Modified

...

Graceful Shutdown: 쿠버네티스 환경에서 노드 종료 시 진행 중인 API 호출이 안전하게 완료되도록 coordinated-shutdown 설정


로컬로 잘 작동된 액터모델을 클러스터로 확장하기 - 프롬프트

Code Block
themeEmacs
## 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
```

...

점진적 확장: 기능 추가 → 유닛테스트 → K8s 배포 → 통합테스트 → Graceful Shutdown의 사이클을 반복하며 안정적으로 확장합니다.

이 활동은 Codex를 통해 완수되었으며  Claude 를통한 개선이 본방활동으로 교차 수행하고 있습니다. ( 클코드 스킬 → 코덱스 스킬로 주입 )


 3진영 클러스터 개선및및 쿠버인프라 테스트검증및 문서화 후 남은 토큰

Image Added

  • 한 세션 컨텍스트 내에서 3진영 언어 모두 수정을 하는것은 일반적이지 않으나 100%소진 없이 38% 남음 - GPT 프로기준
    • 이 저장소의 목적이 3진영 분산처리를 지원하는 테스트된 스킬작성에 목적이 있으며 각 진영언어의 차이를 이해하고 동일장치를 일관성있게 코드구성을 하는 부가활동이 포함되어있습니다. 

Erik Meijer의 한마디~

"이보게, 브라이언 괴츠, C#,파이선,자바스크립트는 물론 심지어 PHP도 async, await를 지원하고 있다네. 그런 기능이 없는 언어는 자바일뿐이야.

람다를 이용해서 콜백함수를 사용하면 된다고? 천만에 콜백은 최악이야. 도움이 안된다고. 자바 9 버전에 담으려고 하는 걸 다 내려놓고 지금당장

async, await부터 넣으라고. 그래야 모두가 행복해질수 있어"

자바진영 동시성 프로그래밍 차이 : 자바진영 동시성처리 프로그래밍


이 아티컬의 메모리 조각 : https://mcp.webnori.com/ui/view/15f0fd61-0339-4974-99e1-ef07d3567d64