일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jenkins
- jsp
- 맛집
- devops
- Design Patterns
- elasticsearch
- springboot
- Web Server
- Spring Batch
- 요리
- java
- ReactJS
- Gradle
- IntelliJ
- ubuntu
- MySQL
- Spring
- it
- javascript
- tool
- linux
- JVM
- Oracle
- Git
- Spring Boot
- db
- laravel
- AWS
- redis
- php
- Today
- Total
목록전체 (811)
아무거나

순대국이 진짜 맛있었는데 같이 나오는 김치랑 특히 새우젓이 너무 맛나고 수육은 반반으로 주문해서 먹어도되니 후회없이 시키는것을 추천!

우연하게 발견한 장소 칼국수도 전복내장이 녹진하고 전복밥도 볶아서 나오는 것 같은데 기가막히다 참기름내 솔솔

오류동에 위치한 평양면옥집 가게가 깔끔하고 면발은 타격감있고 씹을수록 메밀향이 느껴지고 쫀득쫀득하며 재미있는 식감이다. 특히 김치가 맛있고 국물도 어느정도 간이되어있고 육향이 풍부하여 평양냉면 초심자들도 쉽게 먹을 수 있다.!! 개인적으로 충무로 필동면옥을 제일 좋아하지만 여기도 그만큼 맛있었다.

[Redis 시리즈 2편] Lettuce 를 사용한 Read / Write 분리 코드는 https://github.com/bkjeon1614/java-example-code/tree/develop/bkjeon-mybatis-codebase 참고 부탁드립니다. 원활한 세팅을 위해 기존 1편에서 설치된 Redis 를 제거 후 진행하자. 환경 (Reader DNS 를 통한 Replica Node 들에 분산하는 방법으로 가정) Redis Master 1대 Slave 2대 Docker Compose 로 설치 (with. Docker) $ docker network create app-tier --driver bridge [docker-compose.yml] version: '2' networks: app-tier..

[Redis 시리즈 1편] Spring Boot 에 Redis 라이브러리인 Lettuce 적용 코드는 https://github.com/bkjeon1614/java-example-code/tree/develop/bkjeon-mybatis-codebase 참고 부탁드립니다. Lettuce Lettuce 란 Netty(비동기 이벤트 기반 고성능 네트워크 프레임워크) 기반이며 고성능, 확장가능, 스레드세이프등을 지원한다. Lettuce 를 선택한 이유 주로 java 쪽에서는 Lettuce 말고도 Jedis 도 많이 사용한다고 한다. 그러나 Jedis 에 비해 몇 배 이상의 성능, 빠른 피드백, 심플하게 디자인된 코드, 잘 기재된 공식문서 등의 이유로 Lettuce 를 많이 사용하고 있는 추세라고 한다. 환경 ..
Ehcache3 (Maven) CacheManagerBean 구현을 통한 Ehcache3 적용 Ehcache3 부터는 JSR-107 로 CacheManager 로 구현해야 한다고 한다. JSR-107 호환 캐시를 사용하기 위해선 JCache 구현 필요 구현 ehcache.xml 생성 (resources 경로 - alias: @Cacheable 의 value 값, key: 키값, value-type: cache 로 저장할 값) java.lang.String java.util.ArrayList 30 com.lotteon.display.config.ehcache.CacheEventLogger ASYNCHRONOUS UNORDERED CREATED EXPIRED 10000 1000 Cache Logger [Ca..

원인 원인은 Redis 의 Packet Loss 가 발생하였고 해당 애플리케이션의 전체 Pod 에서 OOM 이 발생하면서 재시작되는 현상이였고 Pod 의 Heap 메모리 사용량은 여유가 있는 상태였습니다. 왜 이러한 문제가 발생하였는지 알아보겠습니다. 컨테이너에서 OOM 발생 먼저 서버로그를 확인해본 결과 Gzip 압축 적용후에 점진적으로 메모리 사용량이 증가한 내용이 확인되었다. 또한 컨테이너에 OOM Kill 도 발생한 것을 확인할 수 있었다. 그러나 이상한점은 Heap Memory 는 정상적인 수치로 확인되었다. 원인분석 Native Memory 에서 OOM 이 발생하였고, Heap Memory 는 정상 적이라 애플리케이션 코드에 문제가 있다고 판단 하였고 관련하여 상기 언급 되었던 배포 항목중 g..

시작에 앞서 먼저 Java8 부터 삭제되는 영역인 Permanent Generation 부터 알아보자면 Class 혹은 Method Code 가 저장되는 영역이다. 줄여서 PermGen 이라고 하며, Heap 영역에 속한다. PermGen 에는 로드된 클래스의 정보, 정적 변수, 상수 정보 등 변하지 않을 것이라고 어느 정도 보증되는 데이터가 저장된다고 한다. PermGen -> Metaspace 영역으로 변경된 이유 PermGen 은 메모리가 제한되기 때문에 OOM(=OutOfMemoryError) 이 발생하게 된다. 그래서 해당 문제를 해결하기 위해 Native 메모리를 사용하는 Metaspace 로 변경되었으며 Metaspace 영역은 Native 메모리를 이용함으로써 개발자는 영역 확보의 상한을 ..
Cache 적용 패턴 및 관리 전략 읽기 캐시 전략 Cache-Aside 캐시는 데이터베이스와 직접 연결되지 않고, 애플리케이션이 주체가 되며 보편적으로 많이 사용되는 캐시 전략, 읽기 요청에 적합 방식 (1) 캐시에 데이터가 존재하는지 확인 (2) 데이터가 존재하면 캐시 데이터 반환 (3) 데이터가 존재하지 않으면 애플리케이션에서 DB 에 데이터 요청 후 캐시에 저장하고 데이터를 반환 Read-Through 애플리케이션이 캐시를 직접 바라본다. 즉, 캐시가 주 데이터스토어로 인식되며 데이터베이스로 동기화하는 몫은 캐시에 위임, 읽기 요청에 적합 최초 호출 시 캐시에 데이터가 없으므로 첫 요청시 캐시가 갱신되게 대응 (Ex: Cache Warm up 스케쥴 작업 등..) 방식 (1) 캐시에 데이터 요청 ..