![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dBGTwx/btrq6vUETcp/yTueDkqkwK9YZ4kn2QDb00/img.png)
0. 여기에서는 Spring Cloud Gateway를 생성한다. 0-1 Gateway를 확장해서 다양한 filter를 생성하거나 캐시를 이용한 인증 같은 것들을 부가적으로 구현할 수 있겠지만 0-2 여기는 아주 간단한 Gateway를 만든다. 0-3 나중에 로그인과 가입을 제외한 나머지 호출에 JWT를 검증하는 필터를 작성하겠지만 0-4 복잡성을 줄이기 위해 Routing을 위해 predicate, filter는 application.properties에서 정의하는 방식으로 작성한다. 1. Gateway의 기능은 말 그대로 외부에서 오는 request를 유레카 서버의 등록된 서비스 정보를 가지고 서비스를 검색한다. 1-1 특징을 나열해 보면 1-2 Spring WebFlux기반이라서 Reactive P..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bXHEQa/btrqVwNEehe/ll1KGxFDZ5evcg3ypnGkkK/img.png)
-1. 유레카 서버는 마이크로서버스가 등록되는 저장소 같은 곳이다. 유레카 서버는 마이크로서비스의 목록을 저장하고 주기적인 상태체크를 통해 서비스의 정상 유무를 관리한다. 0. 단일 유레카 서버(Standlone Mode)를 사용한다. HA와 리플리카는 고급 주제라서 여기 부터 쓰면 적절하지가 않다. 그걸 하려면 Docker와 Kubernates가 없으면 별로 의미가 없다. 아래는 해당 관련 공식 문서이다. https://cloud.spring.io/spring-cloud-netflix/reference/html/#spring-cloud-eureka-server-standalone-mode 0-1 그렇기 때문에 Eureka clients는 설정에 포함시키지 않았다. HA구조를 사용하지 않을 거면 Disc..
작년 여름인가 잘 되던 서비스가 갑자기 되지 않은 적이 있었다. alert과 confirm이 동작하지 않아 검증로직의 실행에 문제가 생겼기 때문이다. 문제는 크롬 브라우저에서 iframe으로 실행되고 있는 프로그램의 alert, confirm, prompt 기능을 제거해버렸기 때문이다. 우리 시스템은 메인 시스템 외에 별도의 인터넷 서비스를 위해서 공개 홈페이지의 서비스 일부 신청 페이지가 iframe으로 들어가 있다. 하지만 일주일 정도지나 전세계의 수많은 개발자들의 원성으로 다시 크롬은 원상복구 되었다. 그리고 12월 2일에 아래 내용처럼 deprecation 결정을 지연하기로 했지만 언제든지 적용 가능한 상태에 있다. After talking to developers and considering t..
레드마인은 Jira를 대체할 수 있는 오픈 소스 이슈트레커로 Ruby On Rails로 만들어 졌다. 정부기관의 서버는 인터넷이 되지 않기 때문에 사무실에 있는 유휴 PC를 사용하여 설치하였는데, 현재 파일서버로도 사용 중인 장비라 Windows 기반이라 설치하기 쉽지 않았다. Bitnami로 설치하면 쉽긴 하지만 Native 설치가 되지 않는다. 윈도우로 레드마인 설치에 도움이 될만한 글을 찾아 볼 수 없어 혹시 다른 사람들에게 도움이 될까 남겨 놓는다. 주요문제는 루비 환경 설정인데 리눅스는 쉽게 해결되겠지만, msys2환경이면 컴파일 오류가 많이 발생한다. 대부분 라이브러가 없어서 그렇다. 그래서 필요한 라이브러리를 챙겨야 하고 mysql 경우는 환경에 따라 mysql.h 헤더 파일로 컴파일해 줄 ..
클라우드 기반의 마이크로서비스는 확장성을 중요시하는 현 시대에서 거를 수 없는 흐름이다. 대부분의 시스템은 Monolith라고 말하는 한 덩어리의 시스템으로 구축하는 것으로 충분하겠지만 확장의 한계를 알 수 없는 스타트업이나 대규모 시스템에서는 마이크로서비스로 구축하는 것이 권장된다. 이 글을 써보려는 이유는 2년 정도 전에 만들어 둔 기반 코드를 최신 라이브러리로 업데이트 하는 것도 있고, 검색을 많이 해보지는 않았지만, 우리말로 기본적인 Microserivce 구조를 생성하고 그 코드에 대한 설명을 해놓은 포스트를 거의 보지 못했단든 점 때문이다. 2년 정도가 지나도 여전히 찾기 힘들어보인다. 마이크로서비스를 만드는 것은 보기에는 단순해 보이지만 굉장히 많은 부분에서 고민할 부분들이 있다. 간단하게 ..
이제 한물간 XML 설정이지만 필요한 때가 있다. 한 예로, 프록시 생성을 위해서 BeanFactory를 등록하는 경우에 종종 테스트를 위해서 BeanFactory를 주입받아야 할 경우가 있는데 XML설정이 더 편리하다. JavaConfig로는 가능한지 모르겠다. 그리고 xml 스키마는 항상 기억하기 너무 힘들다. 아래의 페이지에서 XML Schema-based configuration 검색한 후에 xml 스키마를 복사해서 사용하면 편리하다. Core Technologies In the preceding scenario, using @Autowired works well and provides the desired modularity, but determining exactly where the auto..
리눅스 sudo lsof -i -P -n | grep LISTEN sudo netstat -tulpn | grep LISTEN sudo ss -tulpn | grep LISTEN sudo lsof -i:22 ## see a specific port such as 22 ## sudo nmap -sTU -O IP-address-Here 윈도우 netstat -aon | find /i "listening" | findstr 5000 리눅스 사용 정리 https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/
대용량 데이터베이스를 사용하다보면 심심치 않게 발생하는 것이 데이터 락킹이다. 일반적으로는 락킹이 무엇인지, 무엇이 원인인지 확인하지 않고 지나치는 경우가 많다. 아래 블로그의 기사는 Transactional Locking이 뭔지에 대해서 설명하는 좋은 글이라서 남겨 둔다. 명료한 개념과 간단한 예시로 어려운 주제를 단순하게 설명하는 좋은 글이다. https://www.methodsandtools.com/archive/archive.php?id=83 Database Locking: What it is, Why it Matters and What to do About it Database Locking: What it is, Why it Matters and What to do About it Justin..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- Spring
- Many-To-Many
- 외부파일
- 설정하기
- login
- jsp
- 매핑
- WebMvc
- mapping
- Validation
- 로그인
- spring boot
- Angular
- 하이버네이트
- XML
- crud
- MYSQL
- RestTemplate
- Rest
- hibernate
- form
- one-to-many
- Spring Security
- 스프링
- 설정
- 상속
- one-to-one
- Security
- 자바
- 스프링부트