개발10 redis-semaphore 사용해서 mutex 해결하기 CJ 택배사 API연동하는 과정에서 semaphore를 사용하여 mutex를 해결한 경험을 공유하고자 글을 작성합니다. 전체적인 흐름은 A 서버에서 B서버로 주문 등록 요청을 하면 B서버는 redis에서 토큰을 조회 후, 토큰과 함께 CJ API를 호출하게 됩니다. A서버에서 B서버로 요청을 하면 B서버는 validation 이후, 토큰을 조회하는 함수를 실행합니다. getToken 함수에서는 토큰키를 사용하여 redis에서 토큰을 조회하고 존재하면 사용하고, 존재하지 않으면 CJ측에 토큰 재발급 요청 후, redis에 저장합니다. token의 ttl은 하루 입니다.const getToken = () => { try { const token = await redis.get('토큰 키'); .. 2024. 1. 12. [Prisma] create api 사용시 안전하게 데이터 생성하기 model Post { id Int @id @default(autoincrement()) content String authorId Int author User @relation(fields: [authorId], references: [id]) @@index([authorId], map: "Post_authorId_fkey") } model User { id Int @id @default(autoincrement()) name String posts Post[] } 위의 스키마를 기반으로 아래의 코드를 작성한다고 생각해 보겠습니다. const post = await prisma.post.create({ data: {...}, }); 여기서 prisma는 prisma client api에 대한 모든 타입.. 2022. 11. 26. 이전 1 2 3 다음