목록Projects (26)
민스씨의 일취일장
Raspberry Pi에 대해서 알아보는 포스팅이다.Raspberry Pi에 대해서 알아보기본격적으로 서버 구축에 앞서, 라즈베리파이에 대해서 알아보려고 한다. 솔직히 잘 몰라서 글쓰는 핑계겸 공부를 해보려고 한다.Raspberry Pi란?영국의 Raspberry Pi에서 만든 저가, 소형 컴퓨터이다. '컴퓨터 교육 보급'을 목표로 개발되었지만, 크기와 가격의 장점으로 현재는 IoT, 로봇, 서버, 미디어 센터, 개발 보드 등에서 다양한 용도로 사용되고 있다고 한다. 면적은 신용카드 크기 정도이다.1 - ARM 기반 CPU 아키텍처라즈베리파이는 ARM Cortex 계열 CPU를 사용한다. 즉, x86/x64 칩에 특화된 우리가 늘 사용하던 Windows OS는 사용할 수가 없다. 대신 ARM 기반 CPU..
홈서버 구축을 위해 구매한 라즈베리파이5 언박싱 관련 글이다. 직적 구매해 작성하는 내돈내산 콘텐츠이다.홈서버 구축을 위해 구매한 라즈베리파이5개인 서버 구축 프로젝트웹 프로그래밍을 시작한 이래로, 꼭 서버를 직접 만들어 보고 싶은 마음이 있었다. 하지만 그 동안엔 서버가 필요할 땐 AWS를 사용해서 서비스 구축에 집중해야지, 그렇지 않으면 서버 구축에만 한 세월 보낼것이란 우려로 미루어 두었다. 하지만 이제는 더이상 이 마음을 Bucket List안에만 두고 싶지 않아서 일단 필요한 장비부터 사들이기로 마음 먹었다. 그렇게 '개인 서버 구축 프로젝트'가 시작한다(?)!Raspberry Pi 5그렇게 구매하게 된 첫번째 장비는 '라즈베리파이 5'이다. 홈서버를 구축할 때, 요즘 미니PC를 많이 사용하고,..
WebSocket 통신을 위한 간단한 Flutter UI를 구성해 보았다.WebSocket - Flutter 프론트 구성하기1. Flutter 프로젝트 생성기본 프로젝트에 추가해 줄 의존성은 하나이다.web_socket_channelflutter pub add web_socket_channel2. UI 구성간단하게 버튼을 누르면 숫자를 서버로 보내서, 메시지를 받도록 구성해 보았다. 메시지를 받으면 숫자를 1씩 늘려줘 몇번 통신을 주고 받았는지 표시하였다.final WebSocketChannel channel = WebSocketChannel.connect(Uri.parse('ws://localhost:8080/ws'));var cnt = 1;@overrideWidget build(BuildCo..
PaymentService에 적용된 Redis Cache를 분산 캐시(distributed cache)로 전환하는 과정(GitHub Issues #28)에 대한 글이다.Redis를 클러스터로 만들어 분산캐시 도입하기작업 순서 계획1. redis.conf 작성 및 적용2. 새로운 Redis용 인스턴스 생성3. Redis 노드(컨테이너)들을 클러스터 구성(생성) 명령 수행4. Redis 분산 캐시를 사용할 수 있도록 애플리케이션 설정 수정1. redis.conf 작성 및 적용nginx.conf와 마찬가지로, redis.conf를 작성해준다. 이 파일은 Redis 컨테이너 실행시 Volume으로 연결 해 줄 것이다. 경로는 어디다 해도 상관 없지만 민스씨 본인은 redis/redis.conf 경로로 할 것이다..
Redis 캐시 도입 후 선능 변화를 테스트(Gtihub Isssues #26)한 결과입니다.Redis 캐시 도입 후 성능 변화 테스트 시나리오1부터 100번까지의 paymentId를 랜덤으로 100명의 가상 사용자가 1분동안 요청을 보낸다.테스트 1캐시를 사용하지 않은 테스트이다.가상 사용자 99명이 1분동안 캐시 적용되지 않는 서비스에 무작위 요청을 보내는 테스트에 대한 결과이다. TPS(초당 처리량)은 평균 518이며 총 1분간 총 처리량은 20861이다.테스트2캐시를 사용하는 테스트이다.가상 사용자 99명이 1분동안 캐시가 적용된 서비스에 무작위 요청을 보내는 테스트에 대한 결과이다. TPS(초당 처리량)은 평균 679.2이며 총 1분간 총 처리량은 28673이다.테스트 분석TPS 31% 향상 (..
PaymentService에 Redis 캐시를 도입하는 과정(GitHub Issues #26)에 대한 글이다.REDIS를 이용해 캐시 도입하기작업 순서 계획1. 프로젝트에 Redis 설정2. 로컬 Redis에서 테스트3. EC2 Redis용 인스턴스 추가하기4. 작동 확인1. 프로젝트에 Redis 설정캐시를 적용할 서비스(PaymentService)에 Redis 설정을 하면서 캐시 도입을 시작한다.build.gradle에 의존성 추가build.gradle에 Redis 의존성을 추가한다. Redis도 일종의 Database이기 때문에, Database 연결과 비슷한 과정을 거친다.implementation 'org.springframework.boot:spring-boot-starter-data-redis..