분류 전체보기(361)
-
Redis - Cluster & Sentinel 차이점 및 Redis에 대해
Redis - Cluster & Sentinel 차이점 및 Redis에 대해 요즘 챗봇 개발 중에 Redis와 같은 In-memory Cache를 이용할 필요가 생겨서 Redis를 공부 하고있다.많은 블로그를 보는 도중에 Redis에 대한 기술적인 좋은 글과 설명이 있어서 포스팅한다. ▶︎▶︎▶︎레디스 클러스터, 센티넬 구성 및 레디스 동작 방식 RDBMS만큼의 정합성과 영속성을 보장할 필요가 없는 데이터들을 빠르게 처리하거나 일정 기간동안만 보관하고 있기 위한 용도로 레디스(Redis), memcached 등의 in-memory 기반 저장소가 많이 사용된다. 그중에서도 Redis는 빠른 성능을 유지하면서도 일정 수준 이상의 persistence를 제공하고, 다양한 native 데이터 구조들을 제공하여 ..
2019.02.28 -
Redis - Sentinel 이란? 설정방법! Redis 고가용성을 위한 방법
Redis - Sentinel 이란? 설정방법! Redis 고가용성을 위한 방법 이전 포스팅에서 Redis Server Replication 구성방법에 대해 알아봤습니다. 이번 포스팅은Redis 고가용성을 위한 Sentinel 기능에 대해 알아보려고 합니다. 어떻게 보면 조금더 완벽한 클러스터링을구성한다고 생각하시면 됩니다. 만약 Redis 설치 및 설정 방법을 모르신다면 아래 링크를 통해 참조하시고 오셔도 좋을 것같습니다.▶︎▶︎▶︎Redis 설치 및 설정, 간단한 사용법! 우선 Sentinel에 대한 기능에 대해 알아보겠습니다. 1) 모니터링2) 알림기능3) 페일오버4) 환경 구성 프로바이더 이러한 기능을 제공해줍니다. 오늘 예제로 구성해볼 이미지입니다. 구성이 이해가 가십니까? 간단하게 설명을 하면..
2019.02.27 -
Redis - Redis 설치 및 설정, 간단한 사용방법
Redis - Redis 설치 및 설정, 간단한 사용방법 Redis란? 정말 단순하게 표현하면 key-value 형태의 값을 저장할 수 있는 하나의 In-Memory DB라고 생각하시면 됩니다. 사용용도는 정말 많습니다. Springboot에서는 세션클러스터링을 위해 Redis를 사용하기도 하고, Cache를 위해서 사용하기도 하며,여러 서버에서 공통으로 공유해야하는 정보를 담는 용도로 사용하기도 합니다. 필자는 챗봇을 개발중인데, 이중화된 서버에서 세션값을공유하기위한 용도로 Redis를 사용하려고 합니다. 우선 이번 포스팅에서는 Redis 설치 및 설정, 그리고 간단한 사용법에 대한 포스팅입니다. ▶︎▶︎▶︎Redis Homepage 우선 위에서 Redis를 다운로드 받아줍니다. 그리고 다운로드 받아진..
2019.02.27 -
Java - Collections.rotate() 란?
Java - Collections.rotate() 란? 만약 List 객체에 [1,2,3,4,5] 요소들이 들어있다고 생각해보자. 여기에서 Collections.rotate(list,2) 메소드를 호출한다면 맨뒤의 요소를 하나씩 두번꺼내서 맨앞 요소자리에 넣고 다른 요소들은 뒤로 한칸씩밀리게 되는 것이다. 이것을 Step으로 표현하면 12345678910@Testpublic void CollectionsRotate(){ List list = new ArrayList(); list.addAll(Arrays.asList(new Integer[] {1,2,3,4,5})); Collections.rotate(list, 1); System.out.println(Arrays.toString(list.toArray(..
2019.02.25 -
Spring - ApplicationContext,ApplicationContextAware, 빈이 아닌 객체에 빈주입할때!
Spring - ApplicationContext,ApplicationContextAware, 빈이 아닌 객체에 빈주입할때! @Autuwired,@Inject 등의 어노테이션으로 의존주입을 하기 위해서는 해당 객체가 빈으로 등록되어 있어야만 가능하다.사실 이런 상황은 웹프로그래밍에서는 거의 없겠지만... 빈으로 등록되지 않은 객체에 빈으로 등록된 객체를 의존주입해야할 상황이 있을 수도 있다. 그럴때 사용할수 있는 하나의 UtilClass 이다. 123456789101112131415@Servicepublic class BeanUtils implements ApplicationContextAware { private static ApplicationContext context; @Override publi..
2019.02.25 -
Spring Cloud - Zuul API gateway & Proxy !(Netflix Zuul)
Spring Cloud - Zuul API gateway & Proxy !(Netflix Zuul)Netflix Zuul 이란 무엇인가?마이크로서비스 아키텍쳐(MSA)에서 Netflix Zuul은 간단히 API gateway 또는 API Service,Edge Service로 정의된다.그래서 하는 일이 무엇이냐? 마이크로서비스 아키텍쳐에서 여러 클라이언트 요청을 적절한 서비스로 프록시하거나 라우팅하기 위한 서비스이다. 위의 이미지에서 보이듯, 모든 마이크로서비스의 종단점은 숨기고 모든 요청을 최앞단에서 Zuul이 받아 적절한 서비스로 분기를 시키게된다. 모든 마이크로서비스의 종단점을 숨겨야하는 이유가 무엇인가? 1) 클라이언트는 일부 마이크로서비스만 필요로한다.2) 클라이언트별로 적용돼야 할 정책이 있다..
2019.02.25