지난 이틀 동안 'Chuanzhi Podcast'에서 Han Shunping 선생님의 영상을 시청했습니다. 이제 우리가 배운 처음 몇 장의 그림을 요약해 보겠습니다! 칼을 갈면 장작을 자르기가 더 쉬워집니다!
질문 1. 홈페이지 구조.
먼저 현대의 대규모 웹사이트 서버 클러스터의 아키텍처를 이해해 보겠습니다.
처음 PHP를 배웠을 때 서버의 아키텍처는 이랬습니다.(그림 1)
(그림 1)
그림과 같이 여러 고객이 동시에 서버에 접속하고, 서버가 웹사이트에 접속하게 되므로, 모든 고객이 웹사이트에 접속할 때 데이터베이스에 접속하게 되어 데이터베이스에 자주 접속하게 되어 웹사이트가 느리게 실행되고, 한 번 사고가 발생하게 됩니다. 이러한 아키텍처는 기껏해야 중소 규모 웹사이트만 지원할 수 있으며, 대규모 웹사이트의 경우 방문 횟수가 100만 건 이상인 아키텍처는 확실히 작동하지 않습니다. 이제 웹 사이트는 다음 아키텍처를 채택합니다. (그림 참조)
접근 과정은 다음과 같습니다.
1 사용자가 로드에 접속합니다. 밸런서가 이를 폴링 기술을 통해 브라우저에 할당합니다. 서버(Load Balancing)
2. 서버는 사용자 요청을 데이터베이스에 액세스하려면 먼저 캐시 서버(memcache)에 요청합니다. 또는 redis)를 통해 필요한 데이터가 있는지 확인
있으면 직접 데이터를 반환하고, 없으면 3
3개의 데이터베이스 로드 밸런싱을 입력합니다. 해당 데이터베이스가 할당되고 데이터가 읽혀집니다.
(데이터베이스 읽기-쓰기 분리 기술 사용)
4 데이터가 서버로 반환된 후 다음에 접속하면 캐시 서버(memcache 또는 redis)에 저장됩니다. 시간, 캐시 서버(캐시 기술)
5 데이터는 서버를 거친 후 사용자의 브라우저로 반환됩니다.
이건 제가 알고 있는 내용이고, 부족한 부분이 보이면 제때 바로잡아주셨으면 좋겠습니다.
위 내용은 내용의 측면을 포함하여 대규모 웹사이트 최적화 학습 요약과 관련된 웹사이트 아키텍처 문제를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.