ZooKeeper
클라우드 컴퓨팅이 변경됨에 따라 애플리케이션은 개별적으로 구성된다. 이러한 개별적인 프로그램 동작을 코디네이팅 하는 것은 매우 어려운 일이다. 일반적으로 이러한 분산된 서버의 동작을 제어하기 위한 기능을 개발하는 것은 추가적으로 많은 시간이 필요하다. 그리고 이러한 코디네이팅을 해주는 서버를 잘못 구성한다면 단일 장애점(Single Point F...
클라우드 컴퓨팅이 변경됨에 따라 애플리케이션은 개별적으로 구성된다. 이러한 개별적인 프로그램 동작을 코디네이팅 하는 것은 매우 어려운 일이다. 일반적으로 이러한 분산된 서버의 동작을 제어하기 위한 기능을 개발하는 것은 추가적으로 많은 시간이 필요하다. 그리고 이러한 코디네이팅을 해주는 서버를 잘못 구성한다면 단일 장애점(Single Point F...
클라우드 네이티브는 12요소 애플리케이션과 특성이 비슷하지만 똑같지는 않다. 클라우드 네이티브 애플리케이션은 플랫폼에서 실행되도록 설계되었으며, 이를 기반으로 회복성, 애자일성, 운영성, 관측 가능성을 갖추도록 설계되었다. 회복성(resiliency)는 장애를 막아내려 애쓰기보다는 포용하며, 플랫폼에서 수행되는 동적 특성을 활용한다. 애...
최근 들어 S3 버킷 업데이트시에 이슈가 발생되고 있다. 이러한 내용을 확인한 즉 stackoverflow에서는 해당 이미지 경로의 이슈에 문제가 있을거란 이야기를 했었는데, 그에 맞게 내 코드에서도 S3 버킷으로 업로드시에 경로에 +-와 같은 URL 에서 사용할 수 없는 문자열들이 포함되어 있는 것이 확인되었다. 우선 1차적으로는 해당 경...
배열 요소에 액세스 할 때마다 Java 가상 머신은 비교 명령을 실행하여 인덱스 값이 유효한 범위 내에 있는지 확인합니다. 이것은 Java 프로그램의 실행 속도를 줄입니다. 배열 범위 검사 제거는 이러한 검사가 중복되어 제거 될 수있는 상황을 식별합니다. JIT (Just-In-Time) 컴파일러의 정적 분석을 기반으로 Java HotSpot ™ ...
Trans + action 원자성(Atomicity) 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 한다. 연산은 Commit, Rollback을 이용해 적용 또는 취소로 한꺼번에 완료되어야 한다. 중간 하나의 오류가 발생되더라도 취소가 되어야 한다. 일관성 (Consistency) 시스템의 고정 요소는 트랜잭션 수행 전후에...
레디스는 모든 데이터를 메모리에 저장하고 조회한다. 모든 데이터를 메모리에 저장하기 때문에 빠르다라는 것은 레디스의 특징 중 일부분에 지나지 않는다. 다른 인메모리 솔루션들과 차이점 중 가장 특별한 점은 레디스의 ‘다양한 자료구조’다. 영속성을 지원하는 인메모리 데이터 저장소다. 읽기 성능 증대를 위한 서버 ...
스케일 업 (Scale Up) 단일 서버(하드웨어)의 성능을 증가시켜서 더 많은 요청을 처리하는 방법을 스케일 업이라고 한다. 하드웨어의 성능을 높이기 위하여 CPU, 메모리, 하드디스크를 업그레이드 하거나 추가하는 것이다. 스케일 업은 한계가 존재한다. 하나의 장비에 설치할 수 있는 CPU 및 메모리와 디스크 수에는 한계가 있기 때문이다. ...
링크드인은 활동 스트림 데이터, CPU, I/O 사용율 같은 운영 메트릭과 요청 시간 등을 모니터링하는 요구조건을 JMS와 JMS의 여러 구현체로 해결하려 했으나, JMX의 오버해드와 JMX 아키텍처상의 확장 제약 때문에 카프카를 만들기로 했다. 카프카의 주요 토대는 메시지를 파일 시스템에 저장하고 캐싱(cache)하는 것이다. 데이터는 ...
인증서 이슈 발생시 해결 방법에 대하여 아래 잘 정리해놨다. 외국 블로그에서 찾던 인증서 생성 클래스는 깃으로 이동하였고, 그걸 다운로드 받아 인증서 생성 후 JDK Security에 저장하는게 마지막이다. 이때 Application을 구동중이라면 재부팅을 해야한다는 것이다. https://www.lesstif.com/pages/view...
우아한객체지향 동영상을 보고 나서 정리해본다. ![]() 의존성 (dependency) 의존성이란 각 개체간 의존성이 존재할 때 변경에 의한 영향이다. 클래스 의존성 관계는 아래와 같다. ![]() 패키...
Reactor는 JVM위에서 효율적으로 요청을 관리할 수 있는 온전한 논블로킹 반응형 프로그램 입니다. 이것은 Java 8의 함수형 API에 특히 CompletableFuture, Stream, 과 Duration으로 통합되었습니다. 이것은 비동기 순차 API Flux( N개의 요소) 와 Mono(0또는1) 를 구성할 수 있도록 제공해준다. Reac...
https://dzone.com/articles/project-package-organization Project Package Organization - DZone Java The package by layer is popular, but packaging by feature might be more worthwhile. But wheth...
gradle의존성으로 관리되는 라이브러리 외의 것을 추가 할 땐 아래와 같이 작성한다. dependencies { … compile fileTree(dir: 'src/main/resources/libs', include: ['*.jar']) } sourceSets { main { resources { ...
http://kwonnam.pe.kr/wiki/gradle/java [**gradle:java [권남]** Gradle Java Plugin Java Plugin apply plugin: 'java' Gradle Dependencies...
public static void main(String[] args) throws InterruptedException, BrokenBarrierException { ExecutorService executorService = Executors.newFixedThreadPool(10); RestTemplate restTemplate =...