반응형

Tools 51

Kubernetes Core concept

1. etcd (자세한 설명 : https://tech.kakao.com/2021/12/20/kubernetes-etcd/) 쿠버네티스는 Key-Value형태로 데이터 저장 고가용성 Key-Value 자료구조 ETCD control client로 cli를 통해 서버에 대한 정보를 키-밸류 값으로 가져올 수 있음 쿠버네티스가 ETCD를 활용하여 클러스터에 관한 정보를 저장함 (노트,포드,시크릿) 클러스터에서 어떤 정보를 수정 변경할 때마다 etcd에 저장됨 kube -system 조회를 통해 etcd-master를 확인할 수 있음 마스터 노드에서 확인 가능 다중 마스터 클러스터에서는 각 etcd 서버가 서로를 연결하도록 구성 2. kube-api-server kubectl 명령어로 입력하면 kube-api..

Tools/K8S 2023.03.18

Angular my-app 예제로 살펴보는 기본 구조

1 . Angular.json - 기본 프로젝트 프로퍼티 (아이콘 ,이름) 설정 2 package.json - 실행 환경 설정(실행 옵션) 3-1. main.ts import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.error(err)); 시작 지점 , AppModule(app.module.ts에 존재) 실행 3-2. index.html 시작 화, body에서 라는 컴포넌트를 호출함 4-1. app.module...

Tools/ANGULAR 2023.02.26

Kafka 동작 원리

1. Pub - Sub 모델 실제 메세지의 송신과 수신이 분리되어 있으며 카프카 큐에 데이터를 저장하는 Kafka Producer , 이를 읽어오는 Kafka Consumer로 분리 되어 Client API를 제공 2. Zookeeper - 분산 코디네이터 서비스 - Kafka는 Zookeeper를 활용하여 데이터 분산 처리 - 각 서버의 상태와 연결, 환경 ,구성 ,위치 , 정보 등 관리데이터를 저장하기 위해 설계 - 디렉토리와 파일처럼 노드내에 데이터를 가지고 있으며 주키퍼 네임스페이스 노드를 가지고 있음 - 클러스터를 구성하는 서버들끼리 공유되는 데이터를 유지하거나 어떤 연산을 조율하기 위해 사용 - 서버 모니터링 가능 - 각 디렉터리 노드를 Znode라고 하며 , 영구노드와 임시노드,시퀀스 노드로..

Tools/KAFKA 2021.03.02

스프링 AOP 적용 예제

이전글 : 스프링 AOP 기본 동작 원리 : https://chalchichi.tistory.com/41 스프링 AOP 기본 동작 원리 스프링 AOP - OOP를 보완하기 위해 ASPECT를 모듈화 할 수 있는 프로그래밍 기법 구성요소 1. Aspect : 묶어 놓은 모듈 2. Target : 적용이 되는 대상 3. Advice : Aspect 안의 기능 4. Join Point : 적용 시점 5... chalchichi.tistory.com 1. 스프링 AOP 메이븐 의존성을 추가한다. org.springframework.boot spring-boot-starter-aop 2. 어노테이션 기반으로 실행예정이므로 어노테이션을 만들어준다. @Retention(RetentionPolicy.CLASS) @Ta..

Tools/Spring 2021.02.28

스프링 AOP 기본 동작 원리

스프링 AOP - OOP를 보완하기 위해 ASPECT를 모듈화 할 수 있는 프로그래밍 기법 구성요소 1. Aspect : 묶어 놓은 모듈 2. Target : 적용이 되는 대상 3. Advice : Aspect 안의 기능 4. Join Point : 적용 시점 5. Point cut : 적용해야 할 위치 AOP 적용 방식 1) 컴파일 : 컴파일 시 이미 코드 내용대로 조작이된 바이트코드를 만들어냄 2) 로딩 타임 : 컴파일에서는 저굥되지 않고 각 Aspect를 따로 바이트 코드로 가지고 있지만 로드시 설정한 대로 로드 후 생성 3) 런타임 : 스프링 안에서 사용 A라는 클래스 타입의 Bean을 만들 때 A*인 "프록시 빈" 을 생성 후 Aspect를 호출 PROXY 패턴 프록시와 리얼 서브젝트가 공유하는..

Tools/Spring 2021.02.27

Elastic Search High Level Client JAVA API (Search API)

*Elastic Search 공식문서 참조 (https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html) * 현재 구동중인 Elastic Search에는 KOSPI 관련 인덱스(주가, 종목명 , 코드) "Stockinfo2"가 저장되어 있는 상태 1. Client initializing Maven 의존성 추가 org.elasticsearch.client elasticsearch-rest-high-level-client 7.6.2 접속하려는 Elastic search API와 동일한 버젼의 클라이언트를 추가하여야 한다 RestHighLevelClient client; public void init() {..

Tools/ELK 2020.08.16

Component와 Component Scan

Component Scan의 동작원리 스프링 프로젝트의 @SpringBootApplication 어노테이션이 존재하는곳에서 스프링 프로젝트가 시작됨 @SpringBootApplication 내부에는 String[] scanBasePackages() default {} 메서드가 존재하는데 이러한 메서드를 통해 @SpringBootApplication이 존재하는 클래스가 속해 있는 클래스를 basepackage로 설정된다. 이렇게 basepackage로 등록된 package 내부에서 빈으로 등록될 Component들을 검색한다. @Component 어노테이션을 기본으로 각각의 용도에 따라 @Repository, @Service, @Controller ,@Configuration으로 세분화 할 수 있으며 위의..

Tools/Spring 2020.08.09

ApplicationContext-2 (Autowired)

Autowired : 스프링의 의존성 주입 어노테이션 , 등록되어 있는 빈들을 명시된 객체에 주입한다. (생성자, 클래스 필드) 기본적인 사용법 - 1 (클래스 변수 주입) package main; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class repo2{ @Autowired repo1 rp1; public repo2(repo1 rp1) { this.rp1=rp1; } } 클래스 변수에 Autowired를 통한 의존성 주입 방식 기본적인 사용법 - 2 (생성자를 통한 주입) package main; import org..

Tools/Spring 2020.08.06

ApplicationContext-1 (Bean을 등록하는 방법)

ApplicationContext : BeanFactory를 상속받은 인터페이스 , 스프링에서 주로 사용 >ApplicationEventPublisher, BeanFactory, EnvironmentCapable, HierarchicalBeanFactory, ListableBeanFactory, MessageSource, ResourceLoader, ResourcePatternResolver 상속 1. 프로젝트 resources에 Spring XML Configuration file을 생성 후 Bean 등록 repo1 package main; public class repo1{ public repo3 giveA(repo3 repo) { return repo; } } repo2 package main; p..

Tools/Spring 2020.08.04
반응형