Oracle Code One 2019

  • OJDBC 신규 버전 (19.3) 릴리즈. 드디어! 이제야! Maven 센트럴 저장소 다운로드를 지원한다.
    • 현재 버전 부터만.. 앞으로의 버전은 다 지원 될 것. 예전것은 차차.. 언젠가..
  • Java ADBA (Asynchronous DataBase Access) 표준화 스펙 제정 시도를 포기
    • API 작업 없을 것이고,
    • 레퍼런스 구현체 작업도 없을 것이고,
    • 비동기 DB 접근을 위한 어떤 Java 표준 작업도 없을 것
    • API 와 JDBC 구현체들은 GPL 라이센스니까 작업하고 싶으면 누구든 알아서 작업하도록
  • Loom 이 Java Scalablity 의 미래가 될 것
    • Loom 이 뭔지 잘 모르겠지만, Java 확장성 (scalable) 신규 스펙 구현체? 같은 느낌.
    • 채번 코드 (Sequencetial) 는 간단해졌지만, 쓰레드 자원을 소모할 것
    • 비동기 코드는 보다 복잡하지만, 자원을 아껴준다.
    • 프로젝트 룸 (loom) 은 파이버 개념을 도입 (fiber)
    • 파이버는 경량 쓰레드이고, JVM 당 쉽게 백만단위까지 늘어날 수 있다.
  • 확장형 DB 접근
    • 파이버를 통한 DB 접근은 블로킹되지만, 파이버는 무시해도 될만한 수준의 자원
    • 파이버 사용 코드는 확장형이면서 비동기지만 심플하다.
    • 현재와 완전 동일한 JDBC API 아래 제공될 것이고, 원하는 만큼의 확장성을 얻을 수 있을 것.
    • 프레임워크와 라이브러리들은 파이버의 장점을 활용할 수 있도록 수정되어야 한다.
  • Oracle DB 제품의 JDBC 드라이버는 파이버 활용 준비가 완료되었다.
    • Oracle 20C 제품의 JDBC 제품은 Fiber 를 사용함. (API 의 변경은 없음)

섣불리 말하기 어려운 부분이지만.. (지식 함량 미달이랄까)

  • 좋게보면? API 변경 없이 비동기가 구현되는 것을 권장하는 것이고..
  • 나쁘게보면? 참조 구현체 제공도 손 놓았으니, 돈 안되는 부담스런 작업을 포기한 것 같기도..
  • 그럼에도 자사 제품은 우선 비동기적? 드라이버를 제공함으로 우위를 꾀하는..
  • Fiber 를 활용한 첨부 코드는 Fiber 부터 이해하고 나서 좀 봐두는게 좋을 것 같다.

HTTP/3: 과거, 현재 그리고 미래

  • HTTP3 뿐 아니라 HTTP2 까지도 간략히 복습할 수 있는 HTTP3 소개 및 클라우드플레어 적용 가이드
  • HTTP3 의 가장 큰 변경점은 TCP 라는 전송계층 프로토콜을 포기하고 QUIC 라는 스트림 구조의 신규 전송 계층 프로토콜을 사용한다는 것
    • QUIC 는 UDP 의 변형체

아니 HTTP2 도 일반화되지 않은 상태에서 !? HTTP3 테스트 단계라니..