일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- OS
- 토비의 스프링
- Stream
- mysql
- IntellJ
- SpringBoot
- Kotlin
- spring
- Stack
- 스프링
- 자바
- 쿠버네티스
- Java
- gradle
- 자바 ORM 표준 JPA 프로그래밍
- Real MySQL
- thread
- jvm
- Collection
- 이스티오
- MSA
- list
- K8s
- 백준
- 보조스트림
- 토비의 스프링 정리
- JPA
- 스트림
- redis
- GC
- Today
- Total
목록Infra (11)
인생을 코딩하다.
안녕하세요. 오늘은 docker에서 k8s istio를 설치하는 것에 관해 글을 작성해보도록 하겠습니다. 배경 현재, 저는 스프링 클라우드(스프링 부트 + 넷플릭스 OSS) 적용에 사용되는 컴포넌트 중 하나인 Eureka를 사용하고 있습니다. 하지만, 스프링 클라우드(스프링 부트 + 넷플릭스 OSS)를 이용한 경우에는 스프링 클라우드로 각 서비스를 먼저 구축하고 마이크로서비스 애플리케이션 자체도 코드 내부에 스프링 클라우드 사용을 위한 클라이언트 코드가 탑재되어야 합니다. 또한 Eureka는 현재 deprecated되었기도 하구요. 하지만, eureka가 아닌, k8s Service mesh parttern 의 구현체인 Istio를 적용하는 경우에는 마이크로 서비스마다 함께 배포되는 사이드카 프락시에 운..
안녕하세요. 오늘은 M1 Mac에서 docker 설치 후, mysql image를 설치하는 법에 관해 글을 작성해보도록 하겠습니다. Intel Mac을 사용하다가 최근에 m1 mac으로 갈아탄 뒤, docker로 mysql image를 설치하려 했더니 intel Mac과 명령어가 다르더라구요. 1. 도커 설치 https://docs.docker.com/docker-for-mac/apple-m1/ Redirecting… docs.docker.com https://www.lainyzine.com/ko/article/how-to-install-docker-for-m1-apple-silicon/ 위의 링크를 참고해보셔도 좋습니다. 2. 터미널에서 아래의 명령어를 입력해줍니다. m1에서는 arm64를 지원하지 않..
쿠버네티스 서비스 메시 패턴의 구현체인 Istio란? 초창기 MSA 기술인 넷플릭스 OSS나 스프링 클라우드 기반의 서비스를 구축 및 운용할 때의 문제점은 API 게이트웨이, 서비스 레지스트리, 컨피그 서비스와 같이 운영 관리를 위한 여러 개의 기반 서비스를 별도로 각각 만들어야 한다는 번거러옴과 더불어 아래 그림과 같이 업무 처리 마이크로서비스에 스프링 클라우드 서비스를 사용하기 위한 라이브러리를 비즈니스 로직과 함께 탑재해야 한다는 점이였습니다. 또한 스프링 클라우드는 자바 기반이기 때문에 마이크로서비스가 자바 외의 다른 언어로 폴리글랏하게 구현된 경우에는 스프링 클라우드 서비스를 아예 사용할 수조차 없습니다. 그런데 최근에는 MSA 문제 영역 해결을 위한 기능(서비스 탐색, 서킷 브레이커, 추적, ..
SAML(Security Assertion Markup Language)이란 무엇일까요? 사용자 인증 및 승인 데이터를 교환하는 안전한 웹 도메인을 제공하는 XML 표준이라고 할 수 있습니다. SAML에는 두 가지 주요 보안 기능이 있습니다. 인증: 사용자가 본인인지 확인 권한 부여: 특정 시스템 또는 콘텐츠에 액세스하기 위한 앱에 사용자 권한 전달 SAML(Security Assertion Markup Language)은 어디에 쓰이는 걸까요? SAML을 사용하면 SAML 프로토콜 및 서비스를 지원하는 하나 이상의 애플리케이션에서 사용자들에게 SSO(Single Sign-On)를 제공할 수 있어, SSO를 통해 하나 이상의 애플리케이션을 대신하여 여러 보안 기능을 수행할 수 있습니다. SSO는 웹 애플..
들어가기에 앞서, 이전 글에서는 가상 접속자가 1000명일 때의 상황에서 성능 테스트를 진행하여 보았는데요, Scale-out을 적용한 뒤 로드밸런싱에 의해 트레픽 부하가 분산되어 더 좋은 성능을 가진 서버로 개선된 것을 확인할 수 있었습니다. 하지만 본 프로젝트는 접속자 수를 최대 1000명으로만 한정지어 놓은것이 아니기 떄문에, 가상 접속자가 3000명일 때의 환경에서도 성능 테스트를 진행하였는데요, 가상 접속자가 3000명인 상황을 대비하여 성능 테스트를 통해 사전에 시스템 장애를 확인하고 서버의 성능 튜닝하였습니다. 아래에서 확인해보도록 하겠습니다. 🔍 가상 접속자가 3000명일 때의 성능 테스트 후 성능 개선 1. 부족한 worker_connection으로 인해 CPU 사용률이 낮아 테스트 실패..
다음 글 nGrinder를 이용한 성능 테스트를 진행하기 앞서, 리눅스 서버에 ngrinder를 설치하고 성능 테스트를 위한 환경을 구축해놓는 것에 관해 글을 작성해 보았습니다. 설치하는 것에 작성하기에 앞서 간단하게 ngrinder 관해 설명해보도록 하겠습니다. nGrinder란? nGrinder는 네이버에서 성능 측정 목적으로 개발된 오픈 소스 프로젝트 입니다. nGrinder는 서버에 대한 부하를 테스트 하는 것이므로 서버의 성능 측정이라고도 할 수 있습니다. 성능 측정이란 것은 실제 서비스에 투입되기 전, 실제와 같은 환경을 만들어 놓고 서버가 사용자를 얼만큼 수용할 수 있는지를 실험할 때 사용됩니다. 만약 이와 같은 테스트를 하지 않으면, 엔지니어가 동시 접속자를 1000명 정도로 예상하고 이에..
이 글을 읽기 전, 리눅스 서버에 ngrinder 설치하기를 참고해주시면 좋을 것 같습니다. 🔍 내가 만든 서비스는 얼마나 많은 사용자가 이용할 수 있을까? 저는 Black-postoffice가 실제 서비스로 출시되었다고 가정했을때, 지속적인 수익 창출을 원하고 그러기 위해서는 사용자들에게 서버가 멈추지 않고, 더욱 빠른 서비스를 제공해드려야 한다고 생각합니다. 따라서 성능 테스트가 꼭 필요한데요, nGrinder는 서버에 대한 부하를 테스트 하는 것이므로 서버의 성능 측정이라고도 할 수 있습니다. 성능 측정이란 것은 실제 서비스에 투입되기 전, 실제와 같은 환경을 만들어 놓고 서버가 사용자를 얼만큼 수용할 수 있는지를 실험할 때 사용됩니다. 성능 테스트를 하지 않았을 떄의 큰 위험을 한 예로 들어보면,..
이전 글은 젠킨스를 이용해 CI를 자동화하는 것에 관해 글을 작성하였습니다. 먼저 읽고오시면 아래 내용들을 이해하는데 큰 어려움이 없으실 겁니다. 젠킨스와 슬랙 연동하여 알림받기 슬랙 홈페이지에 접속한 후 슬랙을 다운받고 워크스페이스와 알림을 받을 채널을 생성해줍니다. https://black-postoffice.slack.com/apps 처럼 htps:// + 자신의 워크스페이스.slack.com/apps를 입력하여 접속합니다. jenkins CI 검색 후 클립하여 줍니다. Slack에 추가를 누르고 채널을 선택하여 Jenkins CI 통합 앱 추가 버튼을 눌러줍니다. Setup Instructions 의 Step3의 Team Subdomain 와 Integration Token Credential I..