Programming 89

(기사스크랩) 개발자가 알아야 할 클라우드 프로그래밍 언어 11가지

출처 : https://www.kcloudnews.co.kr/news/articleView.html?idxno=11018 개발자가 알아야 할 클라우드 프로그래밍 언어 11가지 - 한국클라우드신문 [한국클라우드신문=이수현 기자] 클라우드 컴퓨팅 프로그래밍은 다양한 형태를 취한다. 백엔드 개발자에게 이는 클라우드 네이티브 앱의 개발 또는 상호 연결된 마이크로서비스 세트의 지속적 www.kcloudnews.co.kr [한국클라우드신문=이수현 기자] 클라우드 컴퓨팅 프로그래밍은 다양한 형태를 취한다. 백엔드 개발자에게 이는 클라우드 네이티브 앱의 개발 또는 상호 연결된 마이크로서비스 세트의 지속적 제공을 뜻할 수 있다. 관리자에게는 클라우드 기반 리소스를 자동으로 프로비저닝하는 스크립트 개발을 의미할 수 있다...

Programming/기타 2022.06.16

React+TypeScript 개발환경 세팅 및 Startup

패키지 매니저 NPM 사용 시 ※ 일반적인 React 프로젝트 시작 시 https://developer.mozilla.org/ko/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_getting_started React 시작하기 - Web 개발 학습하기 | MDN 이 문서에서는 React를 소개합니다. 우리는 React에 대한 약간의 배경지식과 사용 예시, 로컬 컴퓨터에 React 툴체인을 설정하는 방법을 배우고 프로세스에서의 React 동작 원리를 배우기 위해서 간단 developer.mozilla.org npx create-react-app demo-jpkim --template=typescript npm install -S s..

MSA에 대한 기본개념 - 5. 회복성

회복성을 결정하는데 있어서 다음의 요소가 있다. (회복성에 대한 이슈는 동기호출에서 많이 발생한다.) 그리고 구현기술/패턴은 다음과 같다. 1. 로드벨런싱(부하분산) → 일반적인 로드벨런서, Gateway, Ribbon 등 2. 회로차단기| 3. 폴백 4. 벌크헤드 → 서킷 브레이커 동기호출로 서비스를 구현하게 되었을 경우 특정 서비스의 트랜잭션이 지연되어 동기된 다른 서비스에도 지연현상이 전파될 수 있음. 이를 차단하기 위해 서킷브레이커 패턴을 적용 장애감지 시 차단기 작동 ▶ 일시적으로 Failback으로 서비스 대체 ▶ 일부 트래픽으로 서비스 정상여부 확인 ▶ 정상확인 시 차단기 해제

Programming/MSA 2022.06.12

MSA에 대한 기본개념 - 4. 서비스를 나눈뒤 상호참조, 통합

MSA 서비스를 분리한 후에는 어떻게 통합(상호연동, 객체참조)할 것인가? → API Gateway 역할 서비스 라우팅 CORS(교차출처) 허용 ACL 적용하여 잘못된 호출 필터링 기타 보안정책 적용(ex. Prevent DDOS) 로드벨런싱 관련도구 Proxy, Kube Gateway Service, [Zuul, Ribbon] → Service Registry+Service Discovery 역할 서비스 Discovery가 가능하도록 서비스 경로 저장 관련도구 Eureka, Kube DNS Service, 일반DNS서비스, Feign Client → URI Path-based Call (Req-Res) 역할 동기호출 관련도구 REST API → Message Queue Call (Pub-Sub) 역할 ..

Programming/MSA 2022.06.12

MSA에 대한 기본개념 - 3. Domain Driven Design 으로 가는 여정

어플리케이션 도메인의 변화 회사가 성장함에 따라 어플리케이션의 Core(중요한것)와 Supporting(덜 중요한것)으로 나누게 된다. 예시) Core - 사용자들은 주문하기 위해 많은 상품을 클릭하고 "구매" 버튼을 클릭 - 상품이 주문되면 배송팀은 상품의 배송을 준비 - 주문이 취소되거나 완료되면 상품재고 수치 감소 Supporting - 고객들은 매진된 상품을 구매할 수 있으며 이는 입고뒤 해소 - 배송 상태 변화시마다 Notification이 고객에게 전달 - 주문과 취소를 반복하는 고객은 블랙리스트로 관리 - 마케팅 팀은 매일 오전 9시에 추천상품을 메일링 회사가 더 규모가 성장하면 팀은 자치성과 동기부여를 위해 더 나뉘어 지게 된다. 예시) 배송관리팀 - 상품이 주문되면 배송팀은 상품의 배송을..

Programming/MSA 2022.06.10

MSA에 대한 기본개념 - 2. 동기 비동기 호출

Micro Service Architecture 설계의 발전 1. Rest API 방식의 설계 (동기호출) - Code Coupling 해소. 그러나 Time Coupling 잔존 - 서비스 Blocking 가능성 내제 - 장애전파 우려 - Point to Point 연결에 따른 복잡한 스파게티 네트워크 Request-Response 모델의 데이타 보호 장애전파를 방지하기 위해 필요한것이 서킷브레이커 패턴. 하나의 트랜젝션이 가능한 블로킹이 발생하지 않도록 미리 차단 → Fail-Fast 전략 메모리 사용 폭주 막음 장애 감지시 차단기 작동 ▶ 일시 동안 Failback으로 서비스 대체 ▶ 일부 트래픽으로 서비스 정상여부 확인 ▶ 정상 확인 시 차단기 해제 Rest방식 MSA 에서도 모놀리식의 2단계 커..

Programming/MSA 2022.06.09

MSA에 대한 기본개념 - 1. Legacy에서 MSA로 진화하는 여정

AS-IS시스템의 Pain-Points는 다음의 것들이 있었다. 서비스 업그레이드가 수시로 요청이 들어와 거의 매일 야근 테넌트별 다형성 지원을 제대로 하지 못하여 가입 고객이 늘 때마다 전체 관리 비용이 급수로 올라가는 한계에 봉착 운영팀과 개발팀이 분리되어 개발팀의 반영을 운영팀이 거부하는 사례 발생 개발팀은 새로운 요건을 개발 했으나 반영하면서 발생하는 오류가 두려워 배포를 꺼려함 현재 미국, 일본, 유럽 등 수요가 늘어나는 상황이나 상기한 문제로 신규 고객의 요구사항을 받아들이지 못하는 상황 수동 운영의 문제로 SLA 준수가 되지 못하여 고객 클레임이 높은 편 기존 모놀리식 아키텍처의 한계로 장기적인 발전의 한계에 봉착 모놀리식의 장점 상호 데이터 참조가 용이하여 개발 리소스를 최소화 시킬 수 있..

Programming/MSA 2022.06.08

SpringBoot+Gradle 설정파일 정리

gradle 구성요소 1. gradlew 리눅스 또는 맥OS용 실행 쉘 스크립트 파일이다. 2. gradlew.bat 윈도우용 실행 배치 스크립트 파일이다. 3. gradle-wrapper.jar 로컬 환경에서 gradle build를 하게 되면, 로컬에 구성된 gradle 버전으로 빌드가 되지만 ./gradlew build 를 하게 되면, Wrapper에 명시된 버전으로 로컬 환경과 관계없이 프로젝트를 빌드할 수 있습니다. gradle wrapper는 GRADLE_USER_HOME에 찾는 gradle이 있는지 확인합니다. 만약 존재한다면 그 gradle을 사용합니다. 만약 없다면 wrapper는 해당 파일을 다운받습니다. 4. gradle-wrapper.properties Gradle Wrapper 설..

Programming/Java 2022.05.17

(Vue) Vue 개발환경 세팅

VSCode 설치 https://code.visualstudio.com/docs/?dv=win Documentation for Visual Studio Code Find out how to set-up and get the most from Visual Studio Code. Optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. code.visualstudio.com VSCode 의 Extension 설치 Vetur 플러그인은 Vue.js를 개발하는 데 도움을 ..