분류 전체보기
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/KnnH3/btsARWh5qRZ/6KIJTXr1H9AA4mGH2fTGvK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
이전 포스팅에서는 Spring Configuration Server를 구축하여, Microservice들의 설정들을 중앙에서 효율적으로 관리할 수 있도록 만들어 보았었다. 해당 내용과 이어지는 내용이므로, 앞의 포스팅을 보지 못했다면 보고 오는 것을 권장한다. https://sjh9708.tistory.com/123 [Spring Cloud] Microservice(MSA) 구축 : (4) Spring Cloud Config Server 구축 이전 포스팅에서는 여러개의 Microservice를 만들고, Spring Cloud Gateway와 Registry Server를 구축하여보았었다. 이번 포스팅에서는 Spring Configuration Server를 구축하여, Microservice들의 설정들을 ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bZMtVg/btsARU5Exvs/3Ogp5gFuhbdC5hECkIFvvK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
이전 포스팅에서는 여러개의 Microservice를 만들고, Spring Cloud Gateway와 Registry Server를 구축하여보았었다. 이번 포스팅에서는 Spring Configuration Server를 구축하여, Microservice들의 설정들을 중앙에서 효율적으로 관리할 수 있도록 만들어 보려고 한다. Spring Cloud MSA 구조를 다시 보면.. Spring Cloud는 분산 시스템과 MSA를 쉽게 개발하고 구축하기 위한 Spring 기반의 프레임워크 모음이다. Spring Cloud는 다양한 분산 시스템 문제에 대한 해결책을 제공하며, 여러 서비스로 구성된 복잡한 시스템을 쉽게 관리하고 확장할 수 있도록 지원한다 Spring Cloud API Gateway 마이크로서비스 아키..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bWrtJ0/btsANLUhY09/rH0WGl08JRjgyrkXqR5e11/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
이번 포스팅에서는 MSA 아키텍처 구조에서의 인가(Authorization)에 대해서 다루어 보려고 한다. 아래의 내용은 일반적인 JWT 기반의 인증과 인가 플로우이다. 그렇다면, 여러개의 서버가 존재하는 MSA 구조에서는 해당 과정의 처리를 어떻게 해야 할지 알아보도록 하자. 클라이언트 서버 인증 1 로그인 요청 2 데이터베이스에서 ID와 비밀번호 대조 후 일치여부 확인 3 일치 시 암호화된 토큰 생성 4 응답으로 토큰을 반환 5 클라이언트는 토큰을 저장 인가 1 API 요청 시 헤 토큰을 포함시켜 요청 2 토큰을 복호화하여 유효성 검증 3 검증 완료되었다면 API 로직 처리 후 응답 4 응답을 받음 프로젝트 구조 User-Service에서의 인증(Authorization) 일반적으로 Applicati..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/yfOfS/btsIBXfk5cU/yRBaRZRVfMxa4Qu9VA1PsK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
사용 데이터 1. ORDER BY 결과 집합을 정렬하는 데 사용되며, 지정된 열(또는 열의 목록)을 기준으로 오름차순(ASC) 또는 내림차순(DESC)으로 정렬 도서를 이름순으로 검색하시오. select * from book order by bookname asc; 도서를 가격의 내림차순으로 검색하시오. 만약 가격이 같다면 출판사의 오름차순으로 검색한다. select * from book order by price desc, publisher asc; 2. GROUP 2-1. 집계함수집계 함수는 데이터베이스에서 데이터들의 집합에 대한 계산을 수행하는 함수이다. 이러한 함수들은 GROUP BY 절과 함께 사용되는 경우가 많다. COUNT(): 그룹 내의 행 수를 계산. 주로 특정 열이..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bUG9gT/btsz6PDJyaz/elj46TNsubkZ6aA86C6omK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
이전 포스팅에서 MSA 아키텍쳐의 구조와 Spring Cloud에 대한 소개를 하였었다.이번 포스팅에서는 이전에 소개했던 아키텍쳐의 구성 요소들인 Gateway, Naming Server, MSA Service들을 만들어보고 연동하는 작업을 해보려고 한다. https://sjh9708.tistory.com/119 [Spring Cloud] Microservice(MSA) 구축 : (1) MSA의 이해와 Spring Cloud의 구조마이크로서비스 아키텍처 (Microservices Architecture, MSA) 비즈니스 로직을 분리하여 개발하고, 분리된 서비스가 다른 서비스에 영향을 최소화하여 개발하는 방법론. 작은 서비스들이 모여 단일 어플sjh9708.tistory.com Spring Cloud..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/M8VAd/btsAalO5VZJ/SG1FOA5Cuz4asfljSzibK1/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
마이크로서비스 아키텍처 (Microservices Architecture, MSA) 비즈니스 로직을 분리하여 개발하고, 분리된 서비스가 다른 서비스에 영향을 최소화하여 개발하는 방법론. 작은 서비스들이 모여 단일 어플리케이션을 이룬다. 소프트웨어를 작은, 독립적인 서비스 단위로 나누는 방식으로 설계된다. 이러한 독립적인 마이크로서비스는 각각 자체 실행 가능하며, 특정 기능 또는 업무를 처리한다. 다른 마이크로서비스와 통신하여 전체 시스템을 구성하게 된다. 1. 낮은 서비스 간의 결합도 각 서비스는 독립적으로 개발, 배포, 확장될 수 있다. 최소한의 중앙집중식 시스템을 유지하며, 분산 시스템을 구축한다. 2. 독립된 기술 스택과 데이터 스토리지 독립적으로 어떤 기능에 충실하여 개발하게 되므로, 굳이 같은 ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/cq7Wxi/btsICknFkRp/vBT65DvB7X5SzQOYEsHqcK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
1. SELECT FROMSELECT는 데이터베이스에서 데이터를 검색하고 조회하는 데 사용FROM은 SELECT와 함께 사용되는 키워드로, 어떤 테이블에서 데이터를 검색할 것인지를 지정 사용 데이터 모든 도서의 이름과 가격을 검색하시오SELECT bookname, price FROM book; 모든 도서의 도서번호, 도서이름, 출판사, 가격을 검색하시오SELECT bookid, bookname, publisher, price FROM book; 2. SELECT Clause : ALL Attributes Relation의 모든 Attributes(Columns) 을 선택할 경우 와일드카드 (*)을 통해 Select한다. 모든 책을 선택하시오SELECT * from book ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/clDcY1/btsIAtsQXw9/9z8BbX5M7RWN3OppzNKC30/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
ALTER TABLE정의된 테이블을 수정하여 재정의하는 작업 1. 데이터 유형 변경ALTER TABLE employees MODIFY salary DECIMAL(10,2); 2. 컬럼의 길이 변경ALTER TABLE products MODIFY product_name VARCHAR(100); 3. 컬럼의 이름 변경ALTER TABLE orders CHANGE order_date order_placed_date DATE; 4. 새로운 컬럼 추가ALTER TABLE customers ADD phone_number VARCHAR(15); 5. 컬럼 삭제ALTER TABLE suppliers DROP contact_name; ALTER TABLE - 제약조건 추가 1. PRIMARY KEY 추가AL..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/Gxt0N/btsIBd33IS5/DUkIym593SUKU5dlP4KGvK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
CREATE TABLE : 테이블 생성 CREATE TABLE TABLE_NAME { #...}; 1. Table의 컬럼과 자료형 지정 CREATE TABLE employee ( employee_id INT AUTO_INCREMENT PRIMARY KEY, age TINYINT, department_id SMALLINT, salary INT); 정수형 (Integer Types)TINYINT: 1 바이트SMALLINT: 2 바이트MEDIUMINT: 3 바이트INT (또는 INTEGER): 4 바이트 CREATE TABLE product ( product_id INT AUTO_INCREMENT PRIMARY KEY, price DECIMAL(10, 2), we..