본문 바로가기
반응형

Architecture12

패키지 매니저(저장소)를 구축해보자(Verdaccio) [1] 1. 설치 전제조건 Node.js v12 이상 npm, pnpm 또는 yarn ( npm@6.x | yarn@1.x | pnpm@6.x ) 2. Verdaccio 설치 // npm npm install --location=global verdaccio // yarn yarn global add verdaccio // pnpm pnpm install -g verdaccio 3. Verdaccio 사용법 로컬에서 verdaccio를 설치한 서버에 publish하는 법. // registry 설정 npm config set registry // 유저 추가 npm adduser --registry // 내가 원하는 패키지 publish npm publish --registry 2023. 9. 1.
Docker, Docker Compose 설정하기 지난 포스팅에서 Spring Boot 환경에서 jib로 docker 이미지를 올리는 법을 알아보았습니다. https://developer-jp.tistory.com/90 [Spring Boot] jib로 AWS ECR에 docker image 올리기 jib 플러그인 설정하기 build.gradle 파일에 plugin 설정을 해준다. plugins { id 'com.google.cloud.tools.jib' version '3.2.1' } Docker Image에 관한 설정하기 build.gradle 파일에 jib 단락안에 from과 to 설정을 해준다. jib { f developer-jp.tistory.com Dockerfile 설정하기 이번에는 jib를 쓰지않고 직접 Dockerfile을 만들어 해보.. 2023. 8. 15.
Kubernetes 관리(GUI) 툴 OpenLens에 대해 알아보자 Lens와 OpenLens 간단하게 말하자면 OpenLens는 Lens의 오픈소스 버전이다. Lens는 2023년 1월부터 구독($199/년)을 해야 사용가능하다. OpenLens는 MIT 라이센스로 깃헙에 공개되어 있어 직접 빌드하거나 다운받아서 쓰면 된다. OpenLens Download (다운로드) https://github.com/MuhammedKalkan/OpenLens/releases/tag/v6.5.2-366 Release v6.5.2-366 · MuhammedKalkan/OpenLens Changes since 6.5.1 🐛 Bug Fixes Temporary fix for extensions always disabled on startup (#7801) https://github.com/.. 2023. 8. 13.
SSO (Single Sign On)란? 1. SSO (Single Sign On)란? SSO는 하나의 통합된 계정으로 한 번의 로그인으로 다른 독립된 시스템들을 같이 사용할 수 있게 해주는 기능이다. 예를 들어서 구글 이메일 사이트에 로그인하면 구글 드라이브나 구글 검색 엔진에 별도로 로그인하지 않고도 같은 계정으로 자동 로그인된 상태로 사이트를 이용할 수 있게 해주는 기능이다. 여러 가지 구현 방식이 있지만 근래에는 SAML (Security Assertion Markup Language)나 OAuth 2.0과 같은 표준 기술들을 많이 사용하고 있다. 보통은 아키텍처의 Access 계층의 Reverse Proxy 계층에서 SSO 기술을 적용한다. 2017. 9. 7.
JWT의 이해 1. JWT의 이해 근래에 들어서 Claim 기반의 토큰 방식인 JWT (JSON Web Token)가 많이 사용되고 있다. 여기서 Claim은 사용자에 대한 프로퍼티나 속성을 말한다. 토큰 자체가 정보를 가지는 방식인데, JWT는 이 Claim을 JSON을 이용해서 정의한다. 다음은 Claim을 JSON으로 서술한 예이다. { "id" : "john", "role" : ["admin"], "company" : "McDonald's" } JSON은 '\n' 등 줄바꿈 문자가 있기 때문에 REST API 호출 시 HTTP 헤더 등에 넣기가 매우 불편하다. 그래서 JWT에서는 이 Claim JSON 문자열을 Base64 인코딩을 통해 하나의 문자열로 반환한다. 만약에 누군가 토큰을 변조해서 사용한다면 어떻게.. 2017. 8. 30.
REST의 이해 1. REST (Representational Safe Transfer) 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍처. HTTP와 JSON을 함께 사용하여 OPEN API를 구현하는 방법으로 주류를 이루고 있으며, 대부분의 OPEN API는 REST 아키텍처를 기반으로 설계 및 구현되고 있다. 2. REST의 기본 REST는 크게 리소스, 메서드, 메시지 3가지 요소로 구성된다. 예를 들어서 'ID가 3인 사용자를 삭제한다'라는 호출이 있을 때 '사용자'는 생성되는 리소스, '삭제한다'라는 행위는 메서드, 'ID가 3인 사용자'는 메시지가 된다. A. HTTP 메서드 HTTP에는 여러가지 메서드가 있지만, REST에서는 CRUD(Create Read Update Delete)에 해당하는 .. 2017. 8. 29.
DevOps란? 1. DevOps란? 개발과 운영이 분리되면서 오는 문제점을 해결하기 위해서 개발과 운영 나아가 테스트까지 하나의 조직으로 합쳐 팀을 운영하는 문화이자 방법론. 2. DevOps를 적용하려면? Cross Functional Team 하나의 팀에 각각 다른 역할을 할 수 있는 팀원들로 세트업 해서 전체 End 2 End 서비스를 운용할 수 있도록 한다. 한 팀 내에서 서비스의 기획부터 운영 그리고 영업까지 해당 서비스에 관련된 모든 것을 할 수 있는 구조로 팀을 구성한다. Widely Shared Metric 팀 전체가 기준으로 삼을 수 있는 서비스에 대한 공통적인 지표를 둔다. 예를 들어, 하루 방문자 수, 평균 체류 시간, 가입자 수와 같은 비즈니스 지표부터 CPU 사용률, 메모리 사용률, 응답 시간 .. 2017. 8. 29.
마이크로 서비스 아키텍처 (Micro Service Architecture) 1. 마이크로 서비스 아키텍처 (Micro Service Architecture)란? 마이크로 서비스 아키텍처는 대용량 웹 서비스가 많아짐에 따라 정의된 아키텍처인데, SOA (Service Oriented Architecture)에 근간을 두고 대용량 웹 서비스 개발에 맞는 구조로 사상이 경량화되고 대규모 개발팀의 조직 구조에 맞도록 변형된 아키텍처이다. 2. 마이크로 서비스 아키텍처의 구조 아래의 그림처럼 각 컴포넌트는 서비스라는 형태로 구현되고 API를 이용하여 타 서비스와 통신을 한다. 배포 구조 관점에서도 각 서비스는 독립된 서버로 타 컴포넌트와의 의존성 없이 독립적으로 배포된다. 아래 그림처럼 앞 단에 로드 밸런서를 배치하여 서비스 간의 로드를 분산시킨다. 데이터의 저장 관점에서도 중앙 집중화.. 2017. 8. 28.
모노리틱 아키텍처 (Monolithic Architecture) 1. 모노리틱 아키텍처 (Monolithic Architecture)란? 모노리틱 아키텍처 스타일은 기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 로직이 들어가 있는 '통짜 구조'이다. 위 그림을 보면 톰캣 서버에서 도는 WAR파일 내에 사용자 관리, 상품 관리, 주문 관리 등 모든 컴포넌트가 들어 있고 이를 처리하는 UX 로직까지 하나로 포장되서 들어가 있는 구조이다. 이 처럼 전체 애플리케이션을 하나로 처리하기 때문에 개발 도구에서 하나의 애플리케이션만 개발하면 되고 배포 역시 간편하며 테스트도 하나의 애플리케이션만 수행하면 되므로 편리하다. 2. 문제점 대형 시스템 개발 시 문제점이 발생한다. - 크기가 커서 빌드 및 배포 시간, 서버의 기동 시간이 오래걸린다. - 프로그.. 2017. 8. 28.
반응형