나의 개발 이야기
-
네트워크의 기초 - 처리량과 지연시간, 토폴로지와 병목 현상나의 개발 이야기 2024. 7. 5. 11:31
네트워크의 기초네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합을 의미한다.여기서 노드란 서버,라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다.노드 - 서버, 라우터, 스위치 등 네트워크 장치링크 - 유선, 무선1.처리량과 지연 시간처리량지연시간네트워크를 구축할 때는 '좋은' 네트워크를 만드는 것이 중요하다.좋은 네트워크란 1)많은 처리량을 처리할 수 있으며 2)지연 시간이 짧고 3)장애 빈도가 적고 4)좋은 보안을 갖춘 네트워트를 말한다. 1.2.처리량(throughput)처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트래픽을 처리했는지를 나타낸다. '많은 트래픽을 처리한다 = 많은 처..
-
회고록 - 서비스 내 재화 시스템 Cash도입나의 개발 이야기 2024. 2. 3. 18:28
Cash 시스템 도입 작년 제가 백엔드를 담당하고 있는 앱에 Cash와 비슷한 개념에 실제 돈을 주고 앱내 제화를 구매하여 사용하는 시스템이 도입되었습니다. 해당 프로젝트를 하면서 고민했던 사항에 대해 공유하는 글을 쓰고자 합니다. 설명의 편의성을 위해 이하 앱내 제화를 Cash라고 통일하여 명명하겠습니다. 어느 정도 돈으로 환원되는 부분이 있기 때문에 처음에는 해당 도메인을 구상할 때 작은 세상의 화폐를 설계한다는 생각으로 접근했습니다. 최초의 데이터 구조 최초의 생각한 데이터의 구조는 위와 같습니다. 통장과 같이 획득 내역과 사용내역을 +,- 연산해서 남는 금액이 최종 잔액이 되는 것입니다. 유효기간이 존재하는 Cash 그리고 우선순위 하지만 이 구조는 실제 화폐와 다르게 무료로 획득한 Cash경우 ..