분류 전체보기

MSA(마이크로 서비스 아키텍처)

데이터 동기화 처리(kafka)

똑같은 서비스가 2개 이상 가동되고, 서로 다른 db를 사용할 때, 이럴 경우 서로간의 db가 동기화되지않으면 서로 잘못된 정보를 표시할 수도 있다. 그래서 데이터를 동기화하는 녀석들을 사용할 것이다. 지금 알아볼 것은 kafka 이다. 카프카를 사용하지 않으면, end to end 연결방식의 아키텍쳐에서 데이터 연동의 복잡성이 증가하고, 확징이 어려워진다. 근데 중간에 카프카 서버를 나두면 한방에 교통정리를 해준다 !

MSA(마이크로 서비스 아키텍처)

Feign Client

Feign Client 페인 클라이언트는 restTemplate 처럼 다른 외부 api에 요청을 보낼 때 사용되는 방법이다. 사용방법은 openfeign 라이브러리 추가 후 메인 클래스에 @EnableFeignClients를 추가해주면 된다. 그리고 인터페이스를 만들고, 그 위에 @FeingClient추가하고 이렇게 되면 @FeingClient(name="order-service") order-service로 등록된 서비스를 디스커버리로 찾으로 간다. 찾아서 GetMapping 안에 order-service/{userId}/orders로 들어간다 그럼 실제 오더 서비스에서 형광색이 칠해진 api를 호출하는 것이다. 그럼 실제 인터페이슬 사용하는 곳에 객체를 하나 생성해주고, 생성자 주입까지 마친뒤, 사용..

MSA(마이크로 서비스 아키텍처)

젠킨스&깃허브 연동 -2

새로운 에러를 맞았따 크레덴셜 아이디를 찾을 수 없다구한다. 아마 요거 말고 XXXXXXXXXXXXXXXXXXXXXXXXXXx 이녀석을 입력해야한다. 그래서 코드를 pipeline { agent any // 사용 가능한 에이전트에서 이 파이프라인 또는 해당 단계를 실행 tools { jdk 'jdk-17' } stages { stage('Prepare') { steps { // "빌드" 단계와 관련 단계 수행 git branch: 'main', credentialsId: 'JENKINS', url: 'https://github.com/FEFE-paypay/eureka.git' } post { success { sh 'echo "Successfully Cloned Repository"' } failure ..

MSA(마이크로 서비스 아키텍처)

젠킨스&깃허브 연동 -1

GitHub 액세스 토큰(access token) 생성 깃헙에서 settings -> developer settings -> tokens -> 제너레이트 뉴 토큰 클릭 베타 버전 말구 클래식으로 해준다! 기간 무제한 repo 클릭 여기도 체크 토근 생성 끝 잃어버리면 다시 못찾는다 주의! 재생성 해야함 GitHub 레포지토리 webhook 설정 웹훅을 걸어야하는데,, 도메인이 없으면 작동을 안한다고 한다.. 그래서 to be continue... 근데 그냥 해보자.. 안되면 그때 받는 걸로 젠킨스 들어와서 젠킨스 관리 -> 시스템 여길 찾아오자 저기 add github server 를 누르면 요런게 뜨는데 저거 또 클릭하면 이런 창이 뜬다. add 누르면 이런 창이 뜨는ㄷ kind 를 Secret tex..

MSA(마이크로 서비스 아키텍처)

스프링 클라우드 필터

그림 설명 클라이언트에서 클라우드 gateway에 요청을 하면 자체적으로 handler매핑이 동작하고 precate조건에 맞게 분기된다. 그럼 분기 된 곳 안에서 pre,post필터가 작동한다. 서비스안으로 들어가기전 필터가 pre이고 서비스에서 돌아 나올 때 쓰는 필터가 post필터라고 생각하면 된다. 코드는 이런 방식이다! 이렇게도 가능! 커스텀 필터도 ssap가능 커스텀 필터를 만드는 것처럼 글로벌 필터를 만들고, 이렇게 한방에 적용시킬 수도 있다. 그리고 글로벌 필터는 보통 모든 것의 젤 앞에서 실행된다. 하지만!! neverthress 위의 코드는 로깅 필터라는 글로벌 필터인데 필터 안에서 우선 순위도 잡아 줄 수 있다. ==== Ordered.HIGHEST_PRECEDENCE ---젤 먼저 실..

MSA(마이크로 서비스 아키텍처)

큰 틀의 구현 방식

eureka 서버를 일단 연다. 열고 각 서비스 단위별로 등록을 해준다. 어떻게?? 각 서비스 마다 @EnableDiscoveryClient 클라이언트로 쓰겠다고 등록해주고 to be continue.. application.yaml이나 application.properties가서 server.port = 서버 사용 포트 0 (0은 자동으로 이어주는 것) spring.application.name : user-service ==user-service라는 이름으로 유레카에 등록하겠다 eureka.client.register-with-eureka : true 유레카에 나를 등록한다. eureka.client.fetch-registry : true 유레카 서버로 부터 인스턴스들의 정보를 주기적으로 가져올 것인..

스프링

스프링 짧은 지식

@CreatedDate 생성된 시간 정보를 자동으로 저장해준다. @MappedSuperclass 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다. 이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아서 사용하고 싶을 때 @MappedSuperclass를 사용한다. @EntityListeners(AuditingEntityListener.class) Entity Listener는 엔티티의 변화를 감지하고 데이블의 데이터를 조작하는 일을 한다. 이전에는 Column값이 수정되는 것에 대해서 반복된 코드를 추가해야했으며 개발자가 직접 추가를 하보니 실수가 발생하는 경우가 종종 발생하였다. 하지만 이러한 것은 EntityListener를 사용하면 쉽게 개선할 수 있다. @where ..

스프링

Spring RequestContextHolder

RequestContextHolder란 ? 스프링에서 전역으로 Request에 대한 정보를 가져오고자 할 때 사용하는 유틸 클래스이다. 보통 service계층에서 많이 사용되며, 매번 클라이언트에 정보를 요청하는 부담을 줄여준다고 생각한다? 확실하지 않다 . 내 예상임..ㅈㅅ RequestContextHolder.getRequestAttributes() 이렇게 쓰인다. 문자 그대로 리퀘스트 안의 정보를 가져오는 거다. 그럼 RequestContextHolder는 언제 생기고 어떻게 호출해야 reqeust정보를 가져올 수 있을까? 생성 이 클래스는 Servlet이 생성될 때 Http Request가 오는 시점에 생성 및 초기화 되고 Servlet이 초기화될 때 clean된다. 탐캣이 올라올 때 쓰레드가 하..

MSA(마이크로 서비스 아키텍처)

Software Architecture

MSA란 마이크로 서비스 아키텍처(Micro Service Architecture)의 약자로 단일 프로그램을 각 컴포넌트 별로 나누어 작은 서비스의 조합으로 구축하는 방법 Antifragile Auto Scaling : 자동 확장성(사용량에 따라 인스턴스 증가) cpu/memory 조건에 따라서 자동으로 인스턴스의 크기가 달라지게 하는것 ex) 무신사 - 블랙프라이데이에는 서버 운영 갯수 up, 아닐 땐 down Micro Services : 전체 서비스를 개별적인 모듈이나 기능을 독립적으로 개발,배포,운영하도록 세분화시킨다. Chaos Engineering : 시스템의 변동, 트래픽 폭주 등의 상황에도 견딜 수 있는지 알아보는 방법론? 정확한 개념은 아니지만, 운영중인 시스템에 변화가 있거나 트래픽이 ..

프로젝트

Gym & Glory

목차 서비스 소개 기획 배경 기능 소개 기술 스택 프로젝트 일정 및 산출물 개발 멤버 및 회고 🌟서비스 소개 서비스 설명 개요 한줄 소개 : 용도 잡고 근육도 얻고 1석 2조 서비스 명 : GYM & GLORY 타겟 🎯 운동하고 싶은데, 헬스장 갈 돈이 없는 사람들 운동하고 싶은데, 헬스장 가기 귀찮은 사람들 운동하고 싶은데, 혼자 하기 싫은 사람들 운동하고 싶은데, 게임도 하고 싶은 사람들 👉 ** 여럿이서 집에서 편하게 운동하고 싶은 사람들 ** 🎞기획 배경 배경 경기 침체로 인해, 지갑이 가벼워진 사람들... 여름엔 덥고, 겨울엔 추워서 운동하로 나가기 싫은 사람들... 가볍게 운동하면서 친구도 만들고 싶은 사람들... 이 사람들이 건강하고 행복하길 바라는 마음에 만들게 되었습니다. Gym & Gl..

E재HO
'분류 전체보기' 카테고리의 글 목록 (4 Page)