JEP 387: Elastic Metaspace
JEP 387: Elastic Metaspace Summary 사용하지 않은 HotSpot 클래스 메타데이터(즉, 메타 스페이스 ) 메모리를 운영 체제에 보다 신속하게 반환하고, 메타스페이스 공간을 줄이고, 메타스페이스 코드를 단순화하여 유지 관리 비용을 줄입니다. Non Goals 압축된 클래스 포인터 인코딩이 작동하는
Writing
기술 자체보다 어떤 문제를 왜 그렇게 풀었는지에 초점을 둡니다.
JEP 387: Elastic Metaspace Summary 사용하지 않은 HotSpot 클래스 메타데이터(즉, 메타 스페이스 ) 메모리를 운영 체제에 보다 신속하게 반환하고, 메타스페이스 공간을 줄이고, 메타스페이스 코드를 단순화하여 유지 관리 비용을 줄입니다. Non Goals 압축된 클래스 포인터 인코딩이 작동하는
kustomize 소개. Kubernetes를 위한 템플릿이 필요 없는 구성 사용자 지정 Kubernetes 환경을 실행하는 경우 Kubernetes 구성을 사용자 정의했을 가능성이 있습니다. 일부 API 객체 YAML 파일을 복사하고 필요에 맞게 편집했습니다. 그러나 이 접근 방식에는 단점이 있습니다. 소스 자료로 돌아
spring kafka dead letter queue 설정 kafka 커넥터를 사용해서 dlq를 설정하는 방법이 있고 spring을 사용해서 컨슈머를 만들었으면 스프링을 통해서 dlq를 설정 하는 방법이 있다. spring에서 dlq를 설정하는 방법에 대해서 알아 보겠다. 스프링 부트를 사용하면 위와 같은 코드를 통해서
ErrorHandlingDeserializer 설정 poll() 시에 deserializer가 메시지를 deserialize하는 데 실패하면 반환 전에 발생하기 때문에 Spring은 문제를 처리할 방법이 없다. 에러 메시지 위에 코드처럼 처음부터 객체를 받을때를 말하는것이다. 이런 문제를 해결하기 위해 ErrorHandl
AmazonS3Exception 처리 spring boot starter actuator 에서 /actuator/health 호출시에 config server의 경우 아래 처럼 repositories에 대한 설정을 하거나 spring.cloud.config.server.health.enabled=false 설정을 통해서
카프카 send 시 에러 org.apache.kafka.common.InvalidRecordException: This record has failed the validation on broker and hence will be rejected. 위에 에러메시지시가 발생하면서 send가 되지 않았다 확인해 보니 kafka
쿠버네티스에서 command를 활용해서 APM agent 설치하기 command를 활용해서 해당 파일을 pod에 다운로드 하는 방법을 적어 놓는다. 위처럼 간단하네 커멘드 내용을 활용해서 처리를 했다 커멘드를 사용시에 주의사항은 dockerfile에 ENTRYPOINT가 사용되지 않아서 실제 실행까지 시켜줘야 된다. 참고
Docker 에서 JAVA OPTS 환경 변수 선언하기 아래 처럼 도커 ENTRYPOINT 에 JAVA OPTS 환경변수를 선언하면 could not find or load main class $java opts 오류가 나온다. exec 명령어를 사용하면 오류 없이 정상동작이 된다. 참고자료