본문 바로가기

memo10

HiKariCP WAS와 MySql 사이가 연결하기 위해서는 커넥팅 비용이 많이 차지함. 즉 Connection을 차지하는 비용이 많이 듬. 해서 Connection Pool에 Connection을 미리 만들어 둔다! 이제 WAS는 Connection이 필요할 때마다 Connection Pool에 있는 Connection을 사용하면 되는 것이다. 이렇게 되면 Connection을 생성하는 비용을 줄일 수 있고, Connection의 수를 미리 제한하여 서버 자원 고갈을 방지할 수 있다. 이러한 Connection Pool을 사용할 수 있게 해주는 프레임 워크가 HikariCP이다. HikaiCP는 요청시에 현재 사용가능한 Connection이 있다면 Connection을 반환해준다. 하지만 만약 Connection이 존.. 2023. 8. 1.
firebase : Cloud Firestore toss payments의 결제 연동을 위해 no sql을 저장해야할 필요가 생겼다. 해서 나느 일단 구현을 위해 firebase를 사용하기로 해서 firebase에 대해 간단히 정리해보려한다. NoSql 사용 이유: 토스 페이먼츠의 API를 호출하면 응답으로 Payment 객체라는 것을 준다. 개발자 센터에서 예시로 제공하는 Payment 응답 객체는 다음과 같다. { "mId": "tosspayments", "version": "2022-11-16", "transactionKey": null, "lastTransactionKey": null, "paymentKey": "0jPR7DvYpNk6bJXmgo28e1QkmPjlE8LAnGKWx4qMl91aEwB5", "orderId": "a4CWyWY5m89.. 2023. 6. 10.
MSA 간 데이터 동기화 MSA 구조로 아키텍쳐를 설계하면 다음과 같은 고민이 있다. 1. authService와 PostService가 있다고 존재한다. 2. authService는 유저들의 authentication, authorization을 해주는 서버로, 회원가입, 로그인, 유저 데이터 수정과 같은 역할을 한다. 3. PostService는 게시판 서비스로 유저들이 게시글을 올리고 다른 유저의 게시글을 조회하고 커멘트를 남기는 서비스이다. ---> 이때 authService와 PostService를 각각의 마이크로서비스로 나누어 운영한다면 PostService에서는 유저 데이터를 어떻게 사용할 수 있을까? 이다. 즉 PostService도 유저 데이터가 필요하다. 게시글을 작성하고 조회하고 코멘트를 남기는 등의 작업은 .. 2023. 5. 24.
jpa 성능 최적화하기2 (update VS delete) 이전 글과 같은 상황에서, Ask를 삭제한다고 해보자. 이때 AskImage, Comment는 cascade = ALL 로 지정되어 있어서 Ask를 JPA의 CrudRepository를 사용하여 삭제한다면 AskImage, Comment가 자동으로 모두 삭제된다. @Entity public class Ask{ //... 중략 @OneToMany(mappedBy = "ask", cascade = ALL) private List askImages = new ArrayList(); @OneToMany(mappedBy = "ask", cascade = ALL) private List comments = new ArrayList(); } 그런데 만약 Ask가 2개의 이미지를 가지고 있고, 3개의 코멘트를 가지고 .. 2023. 3. 4.