Тёмный

JDK 21의 신기능 Virtual Thread 알아보기 (안정수 James) 

kakao tech
Подписаться 9 тыс.
Просмотров 8 тыс.
50% 1

[2023.12.12. 제4회 Kakao Tech Meet 발표]
JDK 21(LTS)에서 소개된 새로운 기능 중 주목받고 있는 Virtual Thread에 대해서 소개합니다. Virtual Thread가 탄생한 배경과 목적, 구조, 사용법, 주의사항에 대해서도 알아봅니다.
#kakaotechmeet #카카오테크 #java #Kotlin #jdk21 #virtualthread
발표자: 안정수(James)
카카오에서 AI 플랫폼을 만드는 플랫폼 엔지니어링 업무를 맡고 있습니다. 새로운 것을 배우고 공부하는 일을 좋아합니다. 하루하루 조금 느리더라도 저만의 속도로 눈앞에 구덩이를 메우고 있습니다.
🔥발표자 블로그: findstar.pe.kr/
💬 발표자 인터뷰와 비하인드 보러가기: tech.kakao.com...
✨ 카카오테크 톡채널: pf.kakao.com/_q...
✨ 카카오테크 페이스북: / kakaotech
카카오테크, 미래의 문턱을 낮추는 기술
tech.kakao.com/

Опубликовано:

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 25   
@campusuper
@campusuper 2 месяца назад
감사합니다 ~!
@knockknockyoo5812
@knockknockyoo5812 4 месяца назад
지금까지 virtual thread세미나중 가장 퀄리티가 좋네요
@noname58286
@noname58286 8 месяцев назад
발표 잘 들었습니다^^ 사용해봐야겠군요
@djkehhh
@djkehhh 9 месяцев назад
너무 기대하고 있는 기능입니다. 발표 잘 들었습니다.
@YeongCheonKim
@YeongCheonKim 9 месяцев назад
좋은 발표 감사합니다
@하성호-h4b
@하성호-h4b 9 месяцев назад
감사합니다.
@nonon9418
@nonon9418 9 месяцев назад
덕분에 잘 이해했습니다!!
@jchoi7907
@jchoi7907 9 месяцев назад
back pressure 지원까지 하려면 결국 webflux만큼 어려워질수 있겠네요
@dev-jonghoonpark
@dev-jonghoonpark 9 месяцев назад
23:05 처럼 overwhelming이 발생해서 db connection을 가져오려다가 timeout이 발생하게 되면 어떤식으로 해결을 해야할까요? thread 갯수에 제한을 둬야하는걸까요? scale out과 함께 db 커넥션 수를 늘려줘야 하는건가요?
@이신종-v4q
@이신종-v4q 9 месяцев назад
개인적인 생각 인걸 감안하고 봐주시면 감사 하겠습니다 요청을 처리 할수 있는 만큼 보낸다 논블락에 백프레셔 전략이랑 비슷 할거 같아요 요청을 chunk 단위로 보내던 타임을 걸어서라도 느리게 보내야 할거 같아요 또 rdb는 scale up 하는데 한계가 있으니 중간에 큐를 추가해서 큐에 메시지 발행 후 처리 하던지 별도 no-sql로 처리 해야 할거 같기도 해요 근데 가상 쓰레드 처리 하는데 처리시 마다 디비 컨넥션 맺는 방식은 그냥 보여주기 위함이고 실제로는 저런식으로는 쓰면 안될거 같아요 비슷하게 서드파티 서비스 호출할때도 한방에 보내면 처리 가능한 서비스도 많지는 않을거 같단 생각도 들어서 각 서비스 특성별 고려해서 사용 하는게 좋을거 같아요 어쨌든 쓰레드별로 디비 컨넥션 맺어야 한다면 안쓰는게 맞아 보입니다
@임창민-f2q
@임창민-f2q 6 месяцев назад
결국 디비 커넥션엔 한계가 있으니 말씀처럼 레플리카로 처리가 가능한 상황이면 스케일아웃 해주는 방법이 유효할 것 같네요.
@bspyeon
@bspyeon 6 месяцев назад
스레드 당 하나의 커낵션을 맺는게 문제 상황이면 요청을 일정 기준에 따라 모았다가 한번에 처리할 때 커넥션을 맺으면 될 것같다는 생각이 드는데 쉽지 않아보이네요
@그루브-i3i
@그루브-i3i 5 месяцев назад
3:56 버추얼스레드 탄생 배경이요? 다른 언어들에서 경량스레드를 다들 지원하기 시작하고 실제 쓰이는 것도 보니 오 별 문제없네? 싶으니까 자바에도 껴넣은거겠죠 ㅎㅎ golang의 go 키워드나 코틀린의 코루틴 ㅋㅋ
@paste5601
@paste5601 5 месяцев назад
문제는 그래도 개느림..
@kouzie96
@kouzie96 5 месяцев назад
설명시작 9:57 사용법 13:08
@paste5601
@paste5601 5 месяцев назад
궁금한게 있습니다. 노드제이에스 보다 성능 안나오고 파이썬과 비슷한 성능 나오는 자바를 왜 붙잡는거에요? 물론 토키오 미만 잡이긴 한데.. 하다못해 씨샵이 자바보다 3배 빠른데.. 왜 병림픽 하는지 모르겠어요
@user-38e9f4e7cu
@user-38e9f4e7cu 5 месяцев назад
성능말고도 중요한 요구사항과 변수가 많으니까요.
@김삿갓-z4q
@김삿갓-z4q 5 месяцев назад
1. JDK 21기준으로 node.js에 비해 I/O intensive한 작업에서 유의미한 차이가 나지 않고, CPU intensive한 작업에서는 오히려 유의미한 강점을 갖습니다. 2. Mavne, Gradle의 존재로 3-Party library 관리하기가 아주 용이합니다. NPM의 버전관리는 아주 원시적이죠. 3. 시장에 숙련자가 많아 구인하기가 아주 용이합니다. 4. 언어의 문법이 제한적이고, 타입 시스템이 아주 강력해 오히려 협업환경에서 좋습니다. 부가설명을 해보자면, - 그렇게 JS 좋다는 사람들도 막상 개발자 수십, 수백명 이상의 협업환경을 겪으면 JS 좋다는 얘기를 절대 하지 못하죠. MS가 괜히 TS를 만든게 아닙니다. - 10명의 JS 개발자가 있다면 10인 10색의 코드스타일이 나오는데 반해 10명의 Java개발자가 개발을 해봐야 어차피 Java의 제한적인 문법때문에 상당히 일관적인 코드가 나옵니다. 이는 대규모 협업환경에서 개발자가 아무리 많아져도 코드의 일관성이 어느정도 보장된다는 의미와 같습니다. 5. 언어, 생태계의 하위호환성에 대한 집착이 병에 가까운 수준이라 이게 오히려 실무환경에서 유지보수성을 최대치로 끌어올립니다. 3-Party library의 마이너 버전 하나가 변경되었다고 프로젝트가 실행되지 않는 JS 생태계와 비교하면 사실 비교하는게 미안한 수준이긴 합니다. 6. Spring Boot 하나면 대부분의 엔터프라이즈 요구사항이 커버됩니다. Spring Boot의 버전만 맞추면 모든 하위 라이브러리의 버전이 통일되는 BOM의 존재도 아주 강력하죠.
@김삿갓-z4q
@김삿갓-z4q 5 месяцев назад
Java 는 대규모 협업환경이 될수록 다른 언어들에 비해 선형적인 강점이 생깁니다. JS는 언어나 생태계가 server side에서 쓰기에는 낙제점을 줄수밖에 없다고 보고요. 1~3명 정도의 소수 개발자가 협업하는 환경이라면 별 문제 없이 사용할수는 있겠네요. 시간이 지나도 1~3명일지는 잘 모르겠지만요
@paste5601
@paste5601 5 месяцев назад
@@김삿갓-z4q 설명 감사합니다.
@youngsooyi7481
@youngsooyi7481 5 месяцев назад
@@김삿갓-z4q cpu-intensive, 개발자/3rdparty공급망 외에는 장점없고, 나머지 말씀하신 부분은 여러언어들 다 비슷할듯해요.
@송재천-g7w
@송재천-g7w 9 месяцев назад
GO의 고루틴 아이디어를 가지고와서 적용한거 같네요
@김삿갓-z4q
@김삿갓-z4q 5 месяцев назад
Golang의 고루틴을 가져온게 아니고, CS에 Continuation라는 개념을 프로그래밍 언어로 구현한겁니다. Golang의 고루틴, Kotlin의 코루틴, JS의 async-await, Python의 Generator 등 모두 동일한 개념이에요. 자바의 경우 Continuation를 먼저 구현하고 이 결과물로 Fiber를 구현한겁니다.
@kwo2002
@kwo2002 6 месяцев назад
감사합니다~!
Далее
V16 из БЕНЗОПИЛ - ПЕРВЫЙ ЗАПУСК
13:57
Spring Tips: Virtual Threads
50:31
Просмотров 14 тыс.
Java 21 new feature: Virtual Threads #RoadTo21
33:35
Просмотров 64 тыс.
Java 21 Is Good?! | Prime Reacts
27:08
Просмотров 240 тыс.
V16 из БЕНЗОПИЛ - ПЕРВЫЙ ЗАПУСК
13:57