얘는 vm 에서 돌아가는 언어이구 기본적으로 무상태



-------------------

비동기 작업들,i/o  -  php 에 도입하려도 몇년째 애쓰지만 아직임   swoole, 로드러너같은 외부워커써야함. 근데 이것들 쓰려면

얘네들에 맞게 프로그램 싹바꿔야됨


이벤트루프 - 비동기 작업, i/o  가 도입되기 위해 필요한데 revolt 라고 php 표준으로 모음 reactPHP, amPHP 라는 라이브러리/프레임워크쓰는데

이거쓰면 무상태라고 가정하고 만든 프로그램 싹 바꿔야됨



현실적으로는 비동기 작업들은 큐를 사용함

대다수는 큐로 해결됨, 큐 쓸일이 아니다? 이때부터 아... 다른거 쓰자 생각들음


공유상태는 걍 레디스에 캐시로 박아넣음

세션도 걍 레디스



그때 강남모임 생각해보면... 대량 메일발송 등 대량 발송 어떻게하냐고하는데

다들 외부메일 api 쓰잖아 걔네 처리량에 맞게 보내면됨


문제는 앱푸시이고 사용자수가 5만 정도인데 동시에 보내야한다?

순차처리하면 시간많이 걸려서 대충 20분걸림

푸시서버 따로 둬야함 - 10분 이하로 ㅇㅇ..



--------------------------

스레드 - 리눅스 스레드 가져다 쓰는거 있긴함 ts 빌드 php 사용하면됨


-----------


워커들

swoole - 중국산인데 백도어심어놔서 영국인이 소스가져다가 openswoole 로 바꿔버림

얘 단점은 xdebug 가 안통함


로드러너 - 그냥 무난한 워커


프랑켄 PHP - 작년초에 뜬건데 개발중임 http 상태코드 103 지원하는 유일한 워커. 심포니 프레임워크도 이거 보고 103 코드 넣음


http 상태코드 103 : css, js 로딩 개선을위해 전체 페이지 로딩전에 미리 전송할 수 있음.




웹소켓/ 소켓


있긴한데... 하... 쓰지마

노드 써


채팅은 폴링방식으로 쓰던데.. 음...


grpc 


위와 동일.


근데 grpc 쓸정도면 규모가 ?ㄷ




PHP 공홈을 보면 범용을 표방하면서 예시로 든게 


데스크탑앱을 만들수있다면서 한 15년전에 방치한 

GTK - PHP 가 있는데


너무오래되서 못써먹음 끝.



SDL 래핑 이거는 1.0 버전 지원하는듯




크롤링


여러패키지들 있어서 골라쓰면됨

spatie 에서 만든게 괜찮음

--------------


그냥 웹용이고 쇼핑몰/커뮤니티 정도.

가끔 cli 프로그램들 루비로 돌고있으면 php로도 할수있을듯