Puncte:1

Implementați o aplicație PHP care apelează scripturi python pe AWS

drapel in

Am creat un site PHP care apelează o grămadă de lucrători python în fundal (folosind sistemul de cozi de lucru în laravel, unde lucrătorul apelează instrumentul python prin CLI). Instrumentele Python au fiecare configurație proprie de mediu conda de care au nevoie pentru a rula corect.

Pot rula această configurare destul de bine pe un singur server, deoarece totul este instalat pe mașină, dar vreau să implementez acest lucru în cloud (AWS) într-o manieră robustă.

Din câte am citit, Elastic Beanstalk este destul de frumos și ușor de distribuit cod PHP, cu suport pentru implementarea de noi versiuni și așa mai departe, dar nu văd cum aș putea include codul meu python.

Probabil ar trebui să mă uit la:

  • separând instrumentele mele python de serverul PHP (cu noua problemă „cum le sun atunci și aștept rezultatele lor?”)
  • punând totul într-un container docker și reconstruiți-l de fiecare dată când unul dintre instrumente sau PHP are nevoie de o actualizare (cu noua problemă „cum îl fac redundant”)

Care este înțelepciunea ta cu privire la implementarea acestui tip de configurare?

Puncte:1
drapel cn

Elastic Beanstalk are suport pentru diverse extensii/configurare prin ebeextensii, așa că este posibil să puteți arhiva codul python și să-l configurați prin intermediul acestuia.

În ceea ce privește separarea lor, intri în zona sistemului distribuit. Un model obișnuit este de a scrie mesaje într-o coadă de lucru (de exemplu, PHP -> AWS SQS) și de a solicita lucrătorilor să se aboneze/consuma din acea coadă și să execute sarcina. Rezultatele pot fi scrise într-o bază de date pentru extragere. Așadar, puteți solicita PHP să scrie în SQS, să convertească comenzile Python în Lambdas (în funcție de ceea ce trebuie să facă) și să scrie rezultatele în DynamoDB. Apoi rezultatele pot fi preluate de serverul central PHP original.

Sau, în ceea ce privește redundarea lucrurilor - puteți muta partea cu starea stocată a sistemului dvs. într-o bază de date sau într-un sistem de fișiere central precum EFS și puteți utiliza instrumente precum AWS ECS pentru a rula containerul și a vă conecta la el.

Există potențial o mulțime de moduri de a o rezolva, în funcție de costuri/cerințele de rezistență/cunoștințe etc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.