Java3 Java + Gradle을 사용하여 gRPC 서비스를 만들어보자 gRPC가 무엇인지 알아보기 전에 RPC가 무엇인지 알아보자. RPC란? RPC(Remote Procedure Call - 원격 프로시저 호출)는 다른 위치에서 클라이언트 요청을 통해 원격 프로세스를 실행하는 기술이다. RPC 사용의 여러가지 문제로 인해 개발자는 오늘날 대부분의 최신 분산 컴퓨팅 솔루션에서 RPC 사용을 피하고 REST 아키텍처를 선호하고 있다. RPC 문제점 RPC의 문제점은 무엇이길래 이렇게 사용을 안하게 되었을까? Sam Newman의 Building Microservices: Designing Fine-Grained Systems 는 마이크로서비스에서 RPC를 사용하는 3가지 이유가 여전히 의심스럽다고 언급했다. 주요 기술 결함으로는 다음과 같다. Java RMI와 같은 기술은 .. 2022. 4. 28. JVM 성능을 최적화 방법 JVM GC 최적화 JVM과 GC에 대해 지식이 있다는 가정하에 작성하였다. GC와 JVM 기초는 대한 기본 동작 방식 소개는 이전 페이지를 보면 나와있다. 1. 명시적 GC 알고리즘 설정 필요한 GC 알고리즘을 명시적으로 지정해주는 것이 좋다. 예를 들어 Java 8에서 기본 GC는 병렬 GC이고 Java 11에서 기본값은 G1GC이다. 이는 명시적으로 GC를 설정하지 않는 한 Java 8에서 Java 11로 업그레이드할 때 더 좋든 나쁘든 간에 사용자와 의지와는 상관없이 변경됨을 의미한다. -XX:+UseG1GC 2. Heap 크기 설정 -ms 와 -mx 옵션을 이용해서 힙 크기를 설정한다. 이러한 옵션으로 인하여 서버 안의 메모리의 최소, 최대를 조절할 수 있다. 간혹 -ms -mx와 같게 설정하시.. 2022. 4. 8. JVM 과 Garbage Collection 동작 방식 Garbage Collection GC (Garbage Collection) 이란? 힙 메모리를 살펴보고 사용 중인 개체와 사용하지 않은 객체를 식별하고 사용하지 않는 객체를 삭제하는 프로세스이다. Java에서 메모리 할당 해제 프로세스는 GC (가비지 컬렉션)에 의해 자동으로 처리된다. 기본 동작 방식 Step 1: Marking (마킹) 사용 중인 메모리 조각과 사용하지 않는 메모리 조각을 식별하는 단계 Step 2: Normal Deletion (일반 삭제) 일반 삭제는 참조되지 않은 개체를 제거하여 참조된 개체와 포인터를 여유 공간으로 남김 Step 2a: Deletion with Compacting (삭제 및 압축) 성능을 더욱 향상시키기 위해 참조되지 않은 개체를 삭제하는 것 외에도 참조된 나.. 2022. 4. 7. 이전 1 다음 728x90 반응형