>백엔드 개발 >PHP 튜토리얼 >PHP 개발자를위한 분산 컴퓨팅의 8 가지 오류

PHP 개발자를위한 분산 컴퓨팅의 8 가지 오류

Lisa Kudrow
Lisa Kudrow원래의
2025-02-27 08:27:13748검색

PHP 개발자가 분산 응용 프로그램을 구축하는 데 경계해야한다는 8 가지 오해

The 8 Fallacies of Distributed Computing for PHP Developers

Peter Deutsch는 1997 년에 배포 된 컴퓨팅에 대한 7 가지 오해 (Java의 아버지)가 추가 한 7 가지 오해를 제안했습니다. 이러한 오해는 매일 분산 응용 프로그램을 구축하기 때문에 MASHUP, SOAP 및 REST 서비스와 상호 작용하는 응용 프로그램, Facebook, Google 또는 Twitter API를 통한 사용자 인증, 원격 데이터베이스 및 캐시 서비스에서 정보 검색 등을 구축하기 때문에 PHP 개발자에게는 중요합니다. 우리가 구축하는 것은 분산 컴퓨팅 응용 프로그램입니다. 그러므로이 8 가지 오해와 그 의미를 이해하는 것이 중요합니다. 핵심 사항 : 핵심 요점 :

8 개의 분산 컴퓨팅 오해가 PHP 개발자에게 제안한 8 개의 분산 컴퓨팅 오해가 중요합니다 : 네트워크 신뢰성, 제로 대기 시간, 무제한 대역폭, 네트워크 보안, 비 체계적 토폴로지, 전송 비용 및 네트워크는 제로 전송 비용입니다.

네트워크 신뢰성과 대역폭이 크게 향상 되었음에도 불구하고 이러한 요소는 완벽하지 않습니다. 개발자는 잠재적 인 실패를 예견하고 응용 프로그램 설계 및 배포에 해당 처리 전략을 통합해야합니다. 사이버 보안은 항상 중요한 문제이며, 개발자는 양호한 보안 관행의 우선 순위를 정하고 파트너의 보안 조치를 평가해야합니다. 개발자는 토폴로지의 변화, 공급 업체 변경 가능성 및 데이터 전송과 관련된 비용을 처리 할 준비를해야합니다. 또한 네트워크가 동형이라고 가정하지 않고 여러 데이터베이스 및 데이터 소스를 처리 할 수있는 유연한 접근 방식을 취해야합니다.

  • 네트워크는 신뢰할 수 있습니다. 네트워크 대기 시간이 감소하고 1995 년 이후 대역폭이 크게 증가했지만 네트워크가 신뢰할 수 있다고 말하는 것은 잘못입니다. MySQL을 백엔드로 사용하는 PHP 응용 프로그램 인 너무 많은 서비스를 사용하지 않는 간단한 응용 프로그램을 작성한다고 가정 해 봅시다. 문제가없는 것 같습니다. 그러나 나중에 Xeround와 같은 MySQL 호스팅 제공 업체를 사용하여 데이터베이스 요구 사항을 충족하기로 결정했다고 가정 해 봅시다. 확장 성과 고 가용성이 우수하더라도 시스템에 문제가 있으면 어떻게됩니까? DDOS 공격으로 인프라가 타격을 받거나 내부 문제로 인해 다운 타임이 있으면 어떻게됩니까? 우리는 종종 약 99.999%의 가동 시간을 듣지만 여전히 100%가 아닙니다. 서비스가 급증하고 오늘날 일반적으로 이용할 수있는 대역폭으로 인해 완벽한 것이 없다는 것을 잊기 쉽습니다. 응용 프로그램에서 서비스 실패를 어떻게 고려합니까?
  • 지연은 0입니다
    지연이 매우 낮을 수 있지만 실제로 몇 년 전보다 훨씬 낮지 만 결코 0이되지 않습니다. 그의 기사에서 Arnon Rotem-Gal-Oz는 "분산 계산 오해에 대한 자세한 설명": 약 300,000 km/s (3.6 * 10E12 Teraangstrom/2 주)의 속도로 처리가 실시간으로 수행 되더라도 유럽에서 핑은 최소한 30 밀리 스코 몬드를 취합니다.
  1. 이게 나쁜 일이야? 혼합. 응용 프로그램의 구조 및 사용 가능한 리소스에 따라 대기 시간 문제를 크게 완화 할 수 있습니다. Amazon Web Services와 같은 서비스를 사용하여 응용 프로그램을 호스팅하고 S3를 활용하여 데이터가 전 세계 여러 지역에 위치하여 최종 사용자와 더 가까워지고 웹에서 응용 프로그램의 대기 시간을 줄일 수 있습니다. 그러나 대기 시간을 줄일 수 있다고해도 제거 할 수는 없습니다. 우리는 다양한 방법과 아키텍처를 취하기 위해 우리에게 미치는 영향을 줄일 수 있지만, 우리가 무엇을하든 항상 거기에있을 것입니다. 응용 프로그램을 설계 할 때 이것을 고려해 보셨습니까?

    무제한 대역폭
    1. 대역폭이 정말 무제한입니까? 그렇다면 무한의 가격은 얼마입니까? 우리가 네트워크가 점점 더 모바일로 이동하고 있다고 생각할 때, 오래된 모든 것이 다시 태어납니다. 전화 접속 액세스 속도로 시작했다고 말하는 것은 아니며, 업데이트 된 4G 네트워크는 이전 2G 및 3G 네트워크보다 훨씬 빠릅니다. 그러나 피크 데이터 속도조차도 현재 표준 광대역 연결보다 낮습니다. 또한 모바일 광대역의 인기에 따라 서비스를 사용하려는 잠재적 인 사용자의 수 (우리는 모두 인기를 얻고 싶어하며 최소한 Facebook의 성공 중 일부)가 놀라운 속도로 증가하고 있습니다. Mobithinking의 이러한 통계를 고려하십시오 59 억 개의 모바일 사용자가 있습니다. 3G 적용 범위를 가진 12 억 개의 모바일 네트워크 사용자.
    2. 모바일 장치는 글로벌 클릭의 8.49%를 차지합니다.

    이를 고려할 때, 대역폭 속도와 전 세계의 침투가 증가하고 있지만 사용자 성장률이이를 상쇄한다고 말하는 것은 공평합니다. 또한 모바일 광대역이 제공하는 막대한 유연성으로 명확한 임시 서비스 소비가 자연스럽게 나타났습니다. 서비스에 대한 잠재적으로 큰 부하를 준비하고 있습니까? 이 가용성으로 인한 피크를 처리 할 수 ​​있습니까?

      사이버 보안
    • 나는 그것이 너무 많은 세부 사항없이 그것이 항상 잘못 될 것이라고 말하는 것이 공정하다고 생각합니다. 궁금한 점이 있으면 LinkedIn 또는 Eharmony 회원과 상담해야합니다. 응용 프로그램을 설계하고 배포 할 때 응용 프로그램의 호스팅 된 위치 (예 : Rackspace, PagoDabox 또는 CloudControl) 및 응용 프로그램 자체의 설계에 얼마나 많은 노력을 기울이는가? SecurityAffairs에 따르면 Prolexic Report :
        금융 서비스 산업을 대상으로하는 악의적 인 패킷 트래픽은 한 달에 3,000% 증가했습니다.
      • 2011 년 4 분기 금융 서비스 산업의 악의적 인 트래픽 데이터의 양은 19.1TB와 140 억 패킷으로 2012 년 증가했습니다.
      • 2012 년에 식별되고 완화 된 데이터의 양은 65TB였으며 데이터 패킷은 2011 년의 80 배인 1 조 1 조입니다.
      • 네트워크가 안전하지 않다는 점을 감안할 때 당연히 우수한 보안 관행을 사용하고 있는지 확인해야합니다. Chris Shiflett의 블로그, Essential PHP Security, PHP Security Alliance 등의 많은 양의 좋은 조언을 감안할 때, 보안을 응용 프로그램 핵심에 통합하는 방법과 그 이유를 알지 못하는 것은 어렵습니다. 보안 관행은 무엇입니까? 배포 한 공급 업체를 평가 했습니까?
      토폴로지는 변하지 않은 상태로 남아 있습니다

      하지 않습니까? 정말? 변하지 않거나 우리가 모르는 것입니까? 우리가 다른 사람들에게 앱을 호스팅 할 때, 우리는 그냥 모른다. 제공 업체가 데이터 센터를 재구성하고 업그레이드하고이를 조정하면 토폴로지가 어떤 이유로 든 변경됩니다. 앞서 언급 한 스마트 폰 사용의 증가를 고려하여 토폴로지가 자주 변경됩니다. 사용자와 제공자 관점에서 토폴로지는 거의 매일 변경됩니다! 토폴로지가 변경되고 외부 서비스가 변경 될 수 없으면 더 이상 액세스 할 수 없으므로 예를 들어 데이터베이스에 액세스 할 수 없게됩니다. 이는 확실히 문제입니다. 그러나 공급자 내에 변경이 있고 응용 프로그램이 계속 실행되면 문제가되지 않을 수 있습니다. 물론 간단한 구성으로 작고 호스팅 된 응용 프로그램을 쉽게 작성하기가 쉽습니다. 그러나 응용 프로그램, 특히 점점 더 인기있는 응용 프로그램이 변경 될 것입니다. 디자인의 토폴로지 변화를 고려해 보셨습니까? 응용 프로그램 설계 및 배포 설계의 실패를 어떻게 설명하거나 처리합니까?
    1. 한 명의 관리자 만
    2. "그러나 내 응용 프로그램은 단일 서비스 제공 업체가 호스팅하며 운영 체제, 데이터베이스 및 웹 서버 지원을 제공합니다." 좋아, 그것이 당신의 응용 프로그램이라고 가정하면, 그것은 실제로 하나의 관리자입니까? 실제로 관리자가 한 명 밖에 없다면 제공자가 귀하의 신청서를 처리 할 것이라고 정말로 믿으시겠습니까? 그들이 아프거나 휴가 중이라면, 나는 무슨 일이 일어날 지 생각하는 것을 싫어합니다. 각 관리자의 기술적이고 광범위한 통찰력은 다를 수 있지만 종종 적어도 몇 명의 관리자가있을 것입니다. 네트워크 침입 탐지 및 기타 보안 정책과 같은 전략은 개발되어야하지만, 모두 동일한 철저함과 실사를 준수 할 것이라는 보장은 없습니다. 오늘날 사용 가능한 수많은 호스팅 제공 업체와 DNS 레코드를 업데이트하는 데 걸리는 시간이 거의 없으면 많은 옵션과 유연성이 있습니다. 한 제공자가 요구와 기대치를 충족시키지 못하면 다른 공급자로 전환 할 수 있습니다. 이것이 당신에게 어떤 영향을 미칠지 고려해 보셨습니까? 공급 업체를 쉽게 변경할 수 없다면 어떻게해야합니까? 많은 수의 공급 업체 잠금 장치가 있거나 모바일 비용이 높은 경우 어떻게해야합니까? 애플리케이션 아키텍처가 충분히 유연하지 않으면 어떻게됩니까? 이런 종류의 위험을 완화하기 위해 어떤 조치를 취할 수 있습니까?
    1. 전송 비용은 0 입니다
    2. 지금까지 모든 진술과 마찬가지로, 이것의 타당성은 거의 없습니다. 응용 프로그램을 지원하는 서버가 동일한 데이터 센터의 동일한 랙에 위치한 경우 전송 비용을 크게 줄일 수 있지만 시간 비용 측면에서. 돈 비용은 어떻습니까? 예, 필요에 따라 무한히 탄력적으로 확장 및 아래로 확장 할 수 있으며, 최종 사용자와 최종 사용자와 가깝게 지리적으로 데이터 센터간에 애플리케이션 데이터를 저장할 수 있지만 가격은 얼마입니까? 응용 프로그램이나 서비스의 건축 구성은 무엇입니까? 비용이나 시간 측면에서 0에 가깝습니까? 하나를 줄일 수 있다면 다른 것을 추가할까요?

    네트워크 동형

      다른 오해와 달리 PHP 개발자로서 우리는 이것을 이해하기 위해 태어났습니다. Windows, Linux, Solaris, BSD 및 Mac OS X 서버에서 응용 프로그램을 호스팅합니다. MySQL, SqlServer, Sqlite, PostgreSQL, MongoDB, Hadoop 및 Oracle을 사용하여 데이터를 저장합니다. 우리는 다른 인터페이스가 필요한 XML 또는 JSON을 통해 외부 서비스를 사용합니다. 다중 운영 시스템 및 다중 서비스 커뮤니티로서, 우리는 초기부터 동형 네트워크를 기대 한 적이 없다고 말할 수 있습니다. 그러나 질문은 여전히 ​​요청되어야합니다. 방법은 유연합니까? 여러 데이터베이스 및 데이터 소스를 처리 할 수 ​​있습니까? 추상 공장과 같은 관련 설계 패턴을 사용하여 투명한 코드 인터페이스를 사용하여 다양한 소스 및 유형의 데이터를 소비합니까? 아니면 XML에서 JSON으로 전환하는 것만 큼 간단한 작업을 수행 해야하는 경우 코드가 중단됩니까?
    1. 결론 PHP 개발자로서 분산 컴퓨팅의 8 가지 오해는 이전과 마찬가지로 중요하다고 생각합니다. 이용 가능한 방대한 양의 정보와 리소스를 감안할 때, 우리는이를 이해하고 발생하는 위험을 완화 할 수있는 매우 유리한 위치에 있습니다. 어떻게 생각하나요? 응용 프로그램 및 서비스를 개발할 때 고려하십니까? 이 8 가지 오해가 응용 프로그램에 어떤 영향을 미치는다고 생각하십니까?
    (그림은 변하지 않음)

위 내용은 PHP 개발자를위한 분산 컴퓨팅의 8 가지 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.