일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 젠킨스
- Docker
- 레디스
- 설정
- Jenkins
- vue
- Redis
- 자동
- 자바
- java
- SpringBoot
- 클러스터
- hive
- ec2
- EMR
- aws
- spring
- 머신러닝
- 예제
- 로그인
- redash
- 간단
- Mac
- Cluster
- login
- Zeppelin
- config
- Kafka
- gradle
- fastcampus
- Today
- Total
목록spring (13)
코알못
hystrix circuit open/close 상태를 알기 위해 log 를 찍어 둘 수 있지만 dash board 를 이용해 실시간으로 확인 할 수 있다. 그러나 해당 대시보드는 실시간으로만 확인 가능하고 이전에 circuit open/close 상태를 볼 수 없어 로그를 찍어 두는 것을 추천 한다! 그럼 이용해보자! 1. dashboard 프로젝트를 만든다. # build.gradle implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix-dashboard:2.2.9.RELEASE' // hystrix dashboard # application - @EnableHystrixDashboard 추가 @EnableHyst..
hystrix 를 사용하고자 하는 이유는 아래와 같다! A 기능에 오류가 났을시 A가 복구 될 동안 더이상 호출하지 않음으로써 부하를 주고 싶지 않다. (Circuit Open) A 기능에 오류가 났을시 B 기능으로 대체하고 싶다. (Fallback) B기능 실행 중에 A 기능이 복구가 된다면 다시 A 기능을 실행 시키고 싶다.(Circuit Close) 물론 try, catch 를 이용하여 해당 기능을 만들수 있으나, 직관적으로 볼 수 있어 코드가 깔끔하고 유지보수가 어렵지 않게 된다. 자 그럼 만들어 보자 ! # build.gradle - 아래 사이트에서 원하는 버전, 빌드 도구 선택하여 정의 - meven : https://mvnrepository.com/artifact/org.springframe..
구글과 같이 로그인한 이력이 있다면 다른 아이디로 간편하게 로그인 가능 해당 코드는 개선 예정으로 참고용으로 보시면 됩니다. - gradle : gradle-3.5.1 - java : 1.8 - spring boot : 1.5.4.RELEASE - spring session : 1.3.1.RELEASE :: https://github.com/works-code/multi-browser-session GitHub - works-code/multi-browser-session: 구글과 같이 하나의 브라우저에서 멀티 세션 관리 기초 코드 구글과 같이 하나의 브라우저에서 멀티 세션 관리 기초 코드. Contribute to works-code/multi-browser-session development by c..
로그인 실패, 성공 커스텀 구현 토큰 발행 커스텀 구현 토큰(jwt)에 사용자 정보 추가 로그인 실패/성공시 구현해야하는 비즈니스 코드는 회사 마다 각각 다르고 커스텀 하게 코드를 작성해야 하며, 지금부터 설정해본다! 일단 기존에 구현한 코드에서는 아래와 같이 로그인 화면이 나오고 로그인 실패시 아무 문구가 나오지 않는다. 실패 성공 커스텀 페이지는 기존 spring security 클래스를 상속하여 구현한다. // 실패 커스텀 페이지 @Slf4j public class CustomFailHandler extends SimpleUrlAuthenticationFailureHandler { @Override public void onAuthenticationFailure(HttpServletRequest r..
OAuth 서버는 인증서버로 인증된 클라이언트만 접근 하도록 할 수 있으며, 클라이언트 별로 권한도 부여 하여 권한 별로 처리 할 수 있도록 할 수 있다. 예를 들어 페이스북, 카카오톡 개발자 센터에 가보면 로그인 기능의 경우 OAuth 2.0 형태로 되어있으며, 내 앱에 페이스북, 카카오톡 로그인을 붙여 사용자 정보를 가져와서 SNS 로그인 기능을 구현할 수 있으며, 로그인 한 사용자의 페이스북, 카카오톡을 컨트롤 할 수 있다. 페이스북, 카카오톡 처럼 우리도 인증 서버를 구현하여 API 를 권한이 있는 클라이언트에게만 제공 할 예정이다. 일단 OAuth 2.0 플로우는 아래와 같다. 토큰 발급 방식(grant_type)은 총 4가지 존재하며, 기본적으로 헤더에 authorization 값(client..
로그인 서비스는 2가지 방식으로 구현이 가능하다 1. 쿠키&세션 2. JWT 해당 글에서는 1번 쿠키&세션을 이용한 방법으로 구성해본다! 위 두가지 방법에 대한 플로우는 아래 게시글에서 확인 가능하다 - 쿠키&세션 관련 플로우 [로그인] 로그인 유지는 어떻게 처리 하는 걸까? 인증 정보를 주고 받는 방식은 두가지 방법이 있다. 쿠키 & 세션 JWT 하나씩 알아보자! # 쿠키 & 세션 1. 로그인 2. 사용자 정보 요청 따라서 쿠키의 만료시간에 따라 로그인 유지가 된다. 쿠키의 만 co-de.tistory.com 일단 컨트롤러를 보자 /*** * 로그인 페이지 * @param request * @param model * @return */ @RequestMapping(value = "/", method =..
HAProxy 란? 로드 밸런서 가상 IP 를 두어 여러 서버의 부하를 분산하는 기능 오픈소스, 무료 Redis 에 HAProxy 를 두는 이유는 무엇일까? 마스터 장애시 슬레이브가 마스터가 됐을때 Client가 마스터 관련 IP, PORT 를 수정 해주어야 하는 단점 보완 검색 해보면 대부분 해당 이유로 많이 나오지만 이전 포스팅인 [5분안에 구축하는 Redis-Sentinel] 를 참고하여 구성하면 해결 된다. (해당 구성이 어려운 경우를 말하는 것으로 보인다.) slave에서 읽기가 가능하도록 하기 위해 & 로드밸런싱 기능 이전 포스팅 방식으로 구현시 slave 는 데이터 백업용으로만 사용된다. HAProxy 를 사용하면 slave 에서도 읽기가 가능하여, Master의 부하가 분산된다. But, ..
간단한 프로젝트를 만들어 보겠다! - 모듈 3개 core-util : 공통으로 사용하는 메소드 모듈 run-a , run-b: base64로 암호화된 값을 보내면 디코딩 한 후 해당 메세지에 모듈명을 붙인뒤, Base64로 암호화해서 리턴하는 모듈 예) ran-A 모듈에 "코린이" base64 인코딩 하여 요청 > "코린이:run-A" base64 인코딩 한 값 리턴 - 각각 실행 가능한 2개의 Jar 파일 만들기 run-a.jar run-b.jar - 실제 실행해보기 만들어보자! :: github.com/works-code/multi-module works-code/multi-module multi-module. Contribute to works-code/multi-module development ..