프로젝트 소개
이 프로젝트는 인터넷 Java 엔지니어를 위한 심화 지식 정리 라이브러리로, 콘텐츠의 대부분은 中华石杉의 자료를 기반으로 하며, 고성능 동시성 아키텍처, 분산 시스템, 고가용성 아키텍처, 마이크로서비스 아키텍처, 대량 데이터 처리의 5가지 핵심 분야를 다룹니다.
고성능 동시성 아키텍처 분야에서는 메시지 큐(Kafka, ActiveMQ, RabbitMQ, RocketMQ의 장단점 및 고가용성, 멱등성, 신뢰성 전송 등의 설계), 검색 엔진(Elasticsearch의 분산 아키텍처, 읽기/쓰기 원리, 대규모 데이터 쿼리 최적화 및 프로덕션 클러스터 배포), 캐시(Redis의 스레드 모델, 데이터 타입, 만료 정책, 마스터-슬레이브 복제, 센티넬 클러스터, 영구화 메커니즘, 클러스터 모드, 캐시 폭발/관통/파괴 문제 및 이중 쓰기 일관성 등), 데이터베이스 분할/샤딩(미들웨어 선정, 동적 확장/축소, 전역 ID 생성), 읽기/쓰기 분리 및 고성능 동시성 시스템 전체 설계를 심도 있게 다룹니다.
분산 시스템 분야에서는 시스템 분할, Dubbo 작동 원리 및 직렬화 프로토콜, 로드 밸런싱 및 클러스터 장애 허용, SPI 개념, 서비스 거버넌스 및 디그레이드, 인터페이스 멱등성 및 순서성, RPC 프레임워크 설계, CAP 정리, 분산 잠금(Redis와 Zookeeper 비교), 분산 트랜잭션 및 분산 세션 등의 주제를 다룹니다.
고가용성 아키텍처 분야는 Hystrix를 핵심으로 스레드 풀 격리, 세마포어 메커니즘, 요청 캐시, Fallback 디그레이드, 회로 차단기 원리, 인터페이스 속도 제한 및 타임아웃 보호를 소개하며, 속도 제한, 회로 차단(Sentinel과 Hystrix 선정) 및 디그레이드 전략도 다룹니다.
마이크로서비스 아키텍처 분야에서는 모놀리식에서 마이크로서비스로의 마이그레이션, 이벤트 기반 데이터 관리, 배포 전략, Spring Cloud와 Dubbo의 차이점, Eureka 서비스 디스커버리 등의 내용을 포함합니다.
대량 데이터 처리 분야는 대규모 데이터 시나리오에서의 알고리즘 실무를 다루며, 동일 URL 찾기, 고빈도 단어, 인기 IP, 중앙값, TopK 문제 등의 일반적인 해결 패턴을 다룹니다.
프로젝트는 또한 오프라인 PDF 문서(283페이지)를 제공하며, Doocs 커뮤니티의 leetcode, 소스 코드 분석, JVM 원리 등 관련 프로젝트와 연동됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.