카테고리 : 컴퓨팅

프록시와 아파치 다이제스트 인증

스티븐 로이드 Watkin , 일요일 2011년 3월 27일 오후 12시 57분

이 게시물을 사용합니다 인증이 기본 빨리와 프록시 설정 표시를 어떻게 아파치가 .

경우에는 제 내가 갖고 싶었던 전송 비트 토런트 클라이언트를 필요에 따라 자료) 페도라 가능한 최신으로 인터넷 그래서 내가 할 수 수표에 다운로드 (국가 및 adminster 토런트 등여. 변속기는 자체가 기본적으로 포트 9091으로 웹 클라이언트는 실행합니다. 아파치가 사용하는 포트를 통해 더 많은 개방까지 귀찮게보다는 전송에 프록시가 전화를 통해 내 그냥 방화벽을 줄 nessecary 전 포트 결정 난 규칙을 전달하고 추가 mod_proxy를 .

계속 읽기 아파치와 프록시 다이제스트 '는 인증»'을

젠드 프레임 워크 : 렌더링하는 경우 존재함

스티븐 로이드 Watkin , 일요일 2010년 12월 12일 오후 4시 19분

개요

이것은 창조에 대한 렌더링 내가 헬퍼상의 간단한보기입니다 게시물 빠르게 젠드 프레임 워크 경우가 존재 파일에만 스타일보기. 일반적으로 예외를 던질 것입니다 존재하지 않는 파일을 렌더링 코드를 요청하십시오. 그러므로 나는 Zend_View에 대해 래퍼를 만들 : : 파일이 존재하는지 여부를 그렇게 렌더링면, 그렇지 않으면 단순히 빈 문자열을 반환 결정 렌더링 () 메서드를.
독서 계속 Framework를 : 렌더 '존재'하는 경우»젠드

젠드 공인 엔지니어 (ZCE) 5.3

스티븐 로이드 Watkin , 목요일 2010년 9월 30일 오후 9시

함께 공식 릴리스 5.3 젠드 공인 엔지니어 (ZCE) 프로그램의 전 시험 인상의 내가 뭘 생각의 빠른 생각 내주고 난 거예요.

배경에 스스로 약간 : 나는 것이었다 소개 첫번째 PHP는 7 년 전에 2006 년부터 PHP에서 전문적으로 일했습니다. 저는 현재 전화 접속 - 작업 시작에 대한 흥미가 Brightpearl가 에 기반 브리스톨, 영국의 소프트웨어를 전자 상거래, 생산 통합 CRM, 회계, 및. 나는 이전에 이전 ZCE 자격증 중 하나를 획득하지 않았습니다. 저는 현재 시리즈에서 5.2.X 개발을 기다리고있다 ... 난 (별로 사용된 어떤의 기능 5.3 특정 젠드 프레임 워크 2와 교리 개발 프로젝트 제 2) 인치
»계속 읽기 '젠드 공인 엔지니어 (ZCE) 5.3'

레이아웃 설정 모듈 젠드 프레임 워크는 당 - 후속

스티븐 로이드 Watkin , 화요일 2010년 2월 16일 오후 8시 48분

에서 다른 이름으로 게시물 이전의 제에 따라 최대가 설정 당 모듈 기반의 레이아웃 에 대한 젠드 프레임 워크 , 제가 그 전에 적은 구성을 필요로하는 코드를했습니다 업데이트 (이것은 필요하지 그 이상을 귀하의 응용 프로그램 구성에 몇 줄!).
'계속 읽기 모듈 레이아웃 당'젠드 프레임 워크를 설정에 따라 - 최대»를

를 사용하여 가상 환경을 그리드 컴퓨팅 오피스 - 4 부

스티븐 로이드 Watkin , 금요일 2009년 12월 4일 오후 11시 59분

소개

그날 각각의 데이터 레코드를 처리하는 업무에 수백만 달러의 작업을 일괄 실행 많은 우리 기업과 제가 각각의 주변 왔던 기계를 앉아 있었 다 생각하고 최근 몇 시간 동안 아무것도하지 않고 매일. 시스템의 처리 능력을 강화겠습니까 이러한 기계를 사용할 수 좋으면 우리가 수없는가? 기사 집합이 있음 난 사무실에 고용의 장점에있는 잠재력을보고가는거야 그리드 환경을 사용하여 가상.

제 3 부 우리는 기계를 만든 우리의 가상 프로세싱과 노동자 시간 유휴 -되기 위해 설정 윈도우 머신합니다.

최신 코드를 실행

불가피하게 변경됩니다 후 작성하여 근로자 로직은 비즈니스, 버그를 사용하여 데이터 처리됩니다 찾았는데, 빨리 주위 토 근로자가 떠날 생산 따라서 것입보다 효율적인 코드는 오래된 냄새나는 코드를 . 그러면 어떻게 우리가 항상 우리의 처리 스크립트의 최신의 그리고 최고의 버전을 사용하고 있는지 확인합니까?

우리가 이것을 할 수있는 몇 가지 아주 간단하고 쉬운 방법이 있습니다, 마술은, 그러나,이를 달성 처리 능력과 네트워크 트래픽을 줄이는 것입니다. 가자, 솔루션 간단한으로 시작하고 반복 정도에 걸쳐 천천히 그것을 개선할 수 있습니다.

첫 번째 방법은 단순히 (삼바, FTP 또는 유사한 통해) 우리의 작업 제어 서버에 연결하고 코드의 최신 버전을 풀다운 것입니다. 별로 효율적지만, 그 일을 할 것입니다. 수 있도록 그 어느 rsync 스크립트를 만드는 방법에 대한 방법과 사용에 대한 개선되는 대신 각 시간은? 또는 무엇 (우리의 코드를 실행하는 각 업데이 트에 대한 그냥 그때 처음 밖의 코드를 넣어 검사에 Subversion은 스크립트를 최신 처리 svn 업데이트 )?

결국 우리는이 간단한 보이는 떠들썩한 파티 스크립트 (10 분마다 Cron의 의해 호출)으로 끝낼 수도 :

  #! / bin / sh를
 grep의 grep | -면 추신의 도끼 | grep 브이의 PHP는 >는 / dev / null로
 다음
     "구인, 출구 현재 처리는"에코

     "지금 시작, 작업이 실행되고 있지 않습니다"에코
     CD / 경로 / / / 복사본을 위해 노력하고 있습니다
     svn 업데이트
     PHP를 yourJobProcessingScript.php
 Fi 인터넷 접속 

이제 우리는 각각의 실행과 확실히 우리가 최신 코드를 실행하고 있는지 확인하실 수 있습니다. 우리는 코드 기반으로 각각의 시간을 우리는 우리의 네트워크를 통해 파일의 차이를 전송하여 실행하고 네트워크 트래픽을 줄이고을 수행하여이 업데이 트를 보장하고.

내 시범 설치, 난 정확히 위에서 않았다. Subversion은 내 일을 처리 서버에 설치하고 간단하게 'svn 업데이트'를 사용하여 '노동자'지점에서 최신 코드를 뽑아. 저는 또한 결과 반환의 일부로 데이터베이스에 반환된 내 처리 스크립트 버전 번호 태그를 추가했습니다. 내 코드는 제가 확실히 최신의 가공 스크립트를 실행했던 작업자 지점 즉으로 내 트렁크를 복사 때마다 업데이 트되는 것을 볼 수 이쪽으로.

최신 데이터를 사용하여

직장 처리는 이들이 너무 업데이 트가 될 몇 가지 시점에서 다음 데이터 소스를 사용하게하십시오. 당신은 빨리 당신의 직원 정돈에 최선을 데려오 게재를 시작으로 트래픽이 네트워크를 홍수로가는 매우 드문 기준으로하여 데이터 소스를 호출하지 않는 한. 내 솔루션을 위해 난 내 VM의 주변을 내 데이터 소스를 이동하고자하는 결심했다.

있어, 말이에요 당신은! 거대한 어떤 경우 내 소스는 데이터? 음 이건 정말 말을하는 우리는 데이터가 많은 경우의 방법은? 그것은 서버를 처리 될 수 있습니다 추가 구입으로 각 기계보다 큰 하드 드라이브를 추가로 설치보다 비용 효과가 있습니다. 이것은 예산을 질문하고 결정하는 사업까지입니다. 그것은 어쩌면 기계 귀하의 데이터 작업자 소스가에 너무 큰 데이터의 양을 유지하는 unfeasible가 자사의 막. 경우에는 그 것이 어떻게 당신이? 그럼 우리가 서버에 데이터를 로컬 수도 살펴 전화, 그러나 이것은 네트워크에 문제를 일으킬 수도 있습니다. 경우에는 이와 같은이 그리드 시스템은 환경 사무실 귀하에 포함시킬 수도 있습니다되고 비현실적인. 그것은 요청 수 있습니다 원본 데이터도 조절 / 또는 매일 저녁과 오전 6시하고하는 것이 오후 8시 근로자 사이의 유일한, 예를 들어 전화 당신의 전략을 실행하고 대체하실 수 있습니다 봐로.

에 이동하실 수 있습니다 데이터 100Gb 위해 데이터 소스 금액을 말한다. 음 그래 아주 업데이 트에 대한 네트워크를 이동하는 데이터의 비트라고. 어떻게 우리가이 사건에있는 데이터의 최신 복사본을 가지고 있는지 확인겠습니까? Rsync지만, 가능성은 개인적으로 당신의 일을 처리 서버에서 최신 데이터 소스를 실행하고 이동 방법이 될 수도 있습니다 (좋은 긴 빈 로그와) 복제에서 마스터로 이것을 설정하여 생각 :

복제 당신의 데이터 소스로 작업 제어 서버 업데이 트에 노예로 근로자의 각각을 설정하면 당신은 거대한 데이터 업데이 트를 수행하지 않는 한 모든 직원에 버리는 네트워크 활동에 큰 증가 (없이 노동자에게 정중하게 내려 세류 것이다 한 번)에서. 당신은, 업데이트 데이터베이스 않았 얻을로서, 이전에 각 작업을 일시 중지를 오래 동안 이것이 장점을 rsync에서 MySQL을 자사의 업데이 트됩니다 끊임없이 계속 데이터를 처리하는 동안 노동자 데몬이에.

이것은 내가 데모 서버를 설정하는 방법입니다. 복제를 설정하려면 전 (MySQL이 사이트의 가이드를 따라 복제를 설정 하고) 분 이내에 20 나 DataSet을 작업 제어 서버 있었 내 inital 노동자를 복제. 각 추가 노동자에 대한 복제 설정과 프로세스는 VM이​​ 복사된 각각의 시간을 일했습니다.

개요

문서의이 섹션에서는 우리가 얼마나 쉽고 받게요 통증이 작업을 수행하고 네트워크 트래픽을 줄이고 우리는 또한 나와 같은 time.Â에 using rsync 또는 subverion (SVN)에 의해 날짜에 처리 코드를 계속 유지하는 방법 당신 노동자의 각각 내려 세류 수 있도록 의해 최신 귀하의 데이터 원본 정보를 유지합니다. 따라서 우리는 비즈니스 로직과 정보를 저희 사무실 그리드 시스템으로 유지하도록하는 공간이 있습니다. 분명 수많은 대안이있을거야하지만 여기, 이러한 작업을 수행했는데 두 가지 간단한 예제를 솔루션으로 올 것이 얼마나 쉬운지 보여줍니다.

다음번에

시리즈 부분이 결승전에서, aptly라는 이름의 5 부 체제,이 배포 문제는 나중에 논의합니다. 내가 배운되었습니다 무엇 제가 만들고 관리 요약됩니다.

를 사용하여 가상 환경을 그리드 컴퓨팅 오피스 - 3 부

스티븐 로이드 Watkin , 금요일 2009년 12월 4일 오후 11시 37분

소개

그날 각각의 데이터 레코드를 처리하는 업무에 수백만 달러의 작업을 일괄 실행 많은 우리 기업과 제가 각각의 주변 왔던 기계를 앉아 있었 다 생각하고 최근 몇 시간 동안 아무것도하지 않고 매일. 시스템의 처리 능력을 강화겠습니까 이러한 기계를 사용할 수 좋으면 우리가 수없는가? 기사 집합이 있음 난 사무실에 고용의 장점에있는 잠재력을보고가는거야 그리드 환경을 사용하여 가상.

2 부 우리는 실행 서버가 마음대로 작업을 쳐다보면서 어떻게 작업이 실패하지 않고 처리 할 작업은 각 보장되는 반면 처리 금액을 최고가 구성 달성하기 위해서 인치

또는 미약 서버 - 귀하의 노동자 설정하기

프로세스의 다음 단계는 가상 노동자를 설정하는 것입니다. 이를 위해 저는 VirtualBox를 사용하여 centOS의 설치를 사용하는거야. 제가 설치거야 마이 SQLPHP를 로, 또한 알려진 서버에 다리를 저는 (리의 nux, m ySQL, HP는) Server (내가 것이 이름까지).

  • 귀하의 Windows 머신 (링크를 따라)에 설치 VirtualBox
  • 다운로드 및 생성된 가상 머신 내에서 (현재 버전 5.3) centOS 설치

하나 : 있어요 괜찮아요 여기, 저기 (그럴 리가 아마이가는 내 포인트 1,000 s의 훌륭한 자습서 밖으로 ' 만들기와 virtualbox 가상 머신을 아래에 centOS Managing ). 중요한 포인트는 GridMachine 머신 가상 내 전화 메모 난 가정입니다.

지금까지 가상화 클라이언트와 운영 체제의 내 선택이가는대로 각 선택에 대한 큰 돋보이는 이유가있다. VirtualBox 내가 내 집에서 컴퓨터에 사용하는 세 가지 주요 운영 체제에서 지원하는 무언가이다. 나는 그것의 좋은 안정적인 운영 체제로 centOS 선택 그리고 난 내 자신의 웹 서버에 사용할 수 있습니다. 내가 대신 효율적으로 사용하는 것이 더 많은 코드를 빠르고하고 X가 실행 '운영 사용하는 경우 있도록)에 대해'사고는 여기에 쉽고, 빠른 시스템에 적용하기위한 오전 훌륭한 도구가 바로 신자 직업 (해요, 비록 :)

중요한 것은 당신의 VM은 우리가 작업자 기계 개별적으로 네트워크 설정을 구성할 필요가 없습니다 우리가 want.By DHCP를 사용하지 않는 뭔가있는 별도로 구성할 필요가있을 것입 각각의 새 가상 머신 달리 들어, DHCP를 사용하고 있는지 확인, DHCP를 건네 줄 것이다 당신을 위해 IP를보세요. 따라서 당신은 (이것은 확장성을 향상시키고 노동자 관리를 줄일 수)까지 각 설정에 대한 걱정없이 사무실에 대한 가상 머신을 복사할 수 있습니다.

당신이 달성하는 것을 목표로해야하는 과정, 새로운 물리 기계를 얻기 위해 VirtualBox를 설치한 후 꽤 많이 많이하지 않고 다른 가상 이미지를 배포할 것입니다. 그것은 설치하는 것이 현명지도 모른다고 그래서 당신은 적어도 많은 컴퓨터가 실행되는 방법을 볼 수있는 다른 서브넷에있는 모든 노동자. 당신은 또한 장기 임대 또는 무제한 임대 DHCP를 귀하의 컴퓨터를 설정해야합니다.

어떻게 노동자에 대한 작업을 실행할 수

이것은 흥미있는 지역 노동자에 대한 처리 작업에 대한 몇 가지 유효한 방법이 있습니다. 여기에 전 그냥이 가장 뻔한 얘기합니다 :

  • 끊임없이 스크립트를 실행 : 스크립트, 이건 쉘 스크립트 또는 PHP 스크립트 노동자에 한 번 실행되어 무한 루프의 일부로 실행됩니다. 나는 스크립트 중 하나가 충돌이 방법을 할인된했습니다 잠재적으로 직원들은 일종의 개입없이 실행하지 않게 되겠지.
  • Cron은 기반의 스크립트 실행 :이에는 cron 데몬은 스크립트에 대한 호출을 맞이할 때마다 엑스 분 가나 얻으려고 말야. 몇 가지 체크없이 실행하여 작업자 스크립트의 여러 많은 복사본을 초래할 수 있습니다.

나의 결정은 내 쉘 스크립트는 다음 작업을 수행 매 10 minutes. 쉘 스크립트를 Cron의 재미와 함께 이동하는 것이었다 :

  1. 프로세스 목록 가져오기 및 'PHP를'위해 grep. 다음 계속을 찾을 수없는 경우.
  2. 직업 코드를 불러 제 경우에 이것은 PHP 기반으로 뭔가 될
  3. 노동자 스크립트의 실행을 완료
  4. 다음 적절한 전화를 다시 갈 준비

내 bash에 스크립트는 다음과 같이 보입니다 :

  #! / bin / sh를
 grep - V를 제품 grep | | grep의 PHP는>는 / dev / null로 추신의 도끼 경우
 다음
     "구인, 출구 현재 처리는"에코

     "지금 시작, 작업이 실행되고 있지 않습니다"에코
     PHP를 yourJobProcessingScript.php
 Fi 인터넷 접속 

참고 : 에코가 완전히 무의미하지만, 거의 그들을 편집하려고하고 있습니다 나타나서 도움이 옆에있는 사람을.

그것은 노동자 가상 머신, 간단하고 쉽고 빠른 접수 하드웨어의 각 새로운 조각에 복사의 설정 마칩니다. 그리드 시스템의 '교묘'는 정말 시각 운영 체제에없는 그 모든 프로세스 작업, 작업 구성을 만든 코드와 함께 수행하고 작업이 적절한 (예 : 호스트가 유휴 상태일 때 언제 실행되었는지 결정에 ).

Windows를 설정 근로자를 초기화하는

첫 번째 작업은 Windows 명령줄에서 가상 머신을 실행하는 데 필요한 명령을 잘하는 것입니다. 위치하는 경우 기본에 virtualBox 당신이있어 설치하고이 노동자라는 작업자했습니다 최대 네로드하는 데 필요한 명령 GridMachine을 다음 :

  는 "C : \ 프로그램 파일 \ 일 \ VirtualBox \ VBoxManage.exe"startvm의 GridMachine 

그러나 우리가 사용해야하는 '머리없는'상태에있는 스크립트를 실행할 수 :

  는 "C : \ 프로그램 파일 \ 일 \ VirtualBox \ VBoxHeadless.exe"- startvm의 GridMachine - vrdp = 해제 

이것은 그래픽 사용자 인터페이스없이 가상 머신을 시작하고 정상적으로 상태를 저장할 수 있습니다. 메시지에 대한 수신 대기 포트 3389에가 너무 RDP가 인수를 차례대로 두번째없는 충돌을주고 당신에게, 또는 RDP가 설치된 Windows. 가상 머신의 이름은 대소문자를 구분합니다!

다음, 우리는 기계가 유휴되면 우리의 작업자 VM을 시작할하도록 Windows를 설정해야합니다. > 모든 프로그램 - -> 보조 프로그램 -> 시스템 도구 - 이렇게하려면 (Windows XP에서) 시작할 가서해야> 예약된 작업을 아래와 같이 :

예약된 작업

사용자 지정 프로그램을 추가로 이동하여 다음을 누릅니다는 '예약 작업 추가'를 따라갔다. 탐색은 VBoxManage 스크립트하고 확인을 누릅니다. 옵션 (우리는 곧이 시스템을 바꿀거야) 및 계속에 대해 귀하의 작업을 예약. 이 작업을 실행하려는 누구를 물어 다음 화면 창을 건너뛰는 후, 난 새로운 특권 사용자를 생성하거나 '관리자'를 제안 싶어요. 우리가 어느 시점에 시스템에 표준 직원 계정을 방해하고 싶지 않아 기억하십시오. 이 작업에 대한 다음과 체크 표시 고급 옵션을 클릭합니다.

unticked입니다 왼쪽의 끝에 '의 실행 텍스트 상자 추가하기 우리의 startvm에 로그온한 경우에만 그 실행 확인하고 문자열을'GridMachine. 일정 작업은 다음 방문, 다음 탭으로 이동하기 전에 유휴 상태로 기계하려는 시간의 금액을 선택 '유휴'는 옵션 아래 일정 드롭을 변경합니다.

마지막으로, 그것은 시간의 X 금액을 실행되었는지 상태는 작업을 중단하는 옵션을 untick하지만 기계가 더 이상 유휴 상태에 있으면 작업을 중단하는 옵션을 체크하지.

시간표

그것은 Windows 호스트 설정을위한 다음 바로 그거야!

개요

이 부분에서 우리는 노동자의 역할을하는 가상 머신뿐만 아니라 이는 우리가 전화를 걸어 우리의 일이 처리하는 스크립트를 실행하는 방법 (PHP 스크립트 자신을 위해) 설정되었습니다. 여기에서 우리는 컴퓨터가 유휴되면, 헤드리스 모드에서 가상 머신을 시작하려면 Windows 우리의 복사본을 설정하는 방법과 사용자가 기계의 사용법을 다시 시작하면 그 상태를 저장 봐. 바라건대이 시점에서 당신은 그것과 같은 시스템을 설정하는 몇 가지 실험을 직접가는거야에 가려움증이 있는데 얼마나 간단한보고있는거야!

다음번에

에서 제 4 부 우리는 논리와 정보를 최신의 비즈니스와 날짜테니까 - 아르 항상 결과는 데이터 소스를 얻을 수 있도록 코드가보고를 사용하여 사이트에서 최신 버전의 도구를 실행되도록 당신이있어.

를 사용하여 가상 환경을 그리드 컴퓨팅 오피스 - 파트 1

스티븐 로이드 Watkin , 금요일 2009년 12월 4일 오후 11시 23분

소개

그날 각각의 데이터 레코드를 처리하는 업무에 수백만 달러의 작업을 일괄 실행 많은 우리 기업과 제가 각각의 주변 왔던 기계를 앉아 있었 다 생각하고 최근 몇 시간 동안 아무것도하지 않고 매일. 시스템의 처리 능력을 강화겠습니까 이러한 기계를 사용할 수 좋으면 우리가 수없는가? 기사 집합이 있음 난 사무실에 고용의 장점에있는 잠재력을보고가는거야 그리드 환경을 사용하여 가상.

으로 의 PHP 개발자 나는 리눅스를, 즉 일이야가는 각 내가 사용하는 사용하는 도구를 MySQL을 , PHP는, VirtualBox와 서브 버전 (SVN). 그러나이 가이드는 단지뿐만 아니라 다른 언어와 기술에 적응할 수 있기를 바랍니다.

내가 제공하는이 솔루션은 매우 느슨하게 전 또는 단순에 대한 것들을 바꿀거야으로 더 재미있게 사용 시나리오를 만들어 우리가 이것은 전체 문서를 통해 사실이되지 않을 수도 있지만 달성하는 데 필요한 거라고 처리의 유형에 기반으로합니다.

이 사무실의 대부분이 실행 무슨이기 때문에 이러한 가상 환경은 윈도우 머신상에서 실행됩니다. 사무실 기계는 그 기계를 사용하는 직원을 방해하지 말아야 할 것을 처리, 기계 전혀 유지 보수를 요구해야하고 그들이 사용할 수있게 쉽게 deployable 새로운 기계 수 있습니다. 이것은 크게 확장성을 감소로 또한, 새로운 가상 머신 추가 구성을 필요로하지 말아야하고 그리드 시스템을 확장할 수있는 좀 참아.

왜 오피스 컴퓨팅 그리드를 구축?

첫째로 당신은 같은 자원을 컴퓨팅 있습니다 구름이 왜 그냥 사용할 생각, 아마존의 EC2 플랫폼 ? 그럼 그 이유는, 예를 들어 여러 가지있을 수 :

  • 당신은 클라우드 컴퓨팅 환경에 특정 데이터를 위탁하지 않습니다
  • 당신은 보건국 기록을 예를 들어, 법적인 이유로 잠재적으로, (나라를 떠나 데이터 등)를 법적인 이유로 클라우드 컴퓨팅 환경으로 특정 데이터를 넣어 수 없습니다.
  • 당신은 당신의 처리 장치는 닫고 모든 권한을 가지고있는 하드웨어 위에도 유지하려면
  • 당신은 구름 인스턴스를 실행하려면 프로젝트에 자금이 없어
  • 당신의 사무실에서 인터넷에 연결되어 있지 않기 때문에 구름 리소스를 사용하지 가능한 자사의
  • 당신은 비를 싫어, 구름은 멀리 잘 보관하시기 바랍니다 비를 따라서

난 목록을 계속 갈 수있을거야,하지만 지금은 충분한 것 같아요.

오피스 컴퓨팅 그리드의 장점

음, (진정한 물리학 스타일에서 일부 청소 가정을 만들 수있게하고) 어떤 수학을 할 수 있습니다. 당신은 하루에 100 작업을 실행하는 큰 우둔한 처리 서버를 상상해보십시오. 사무실에서는 유휴 16시간 아르 50 기계를 하루에,이 기계의 각 네 살이 찐 처리 세베르와 같은 강력한 10 %입니다. (여기에 모든 결과는 과소 평가하고 성능 향상에 반올림됩니다.)

그래서 10 %의 전원 * 3분의 2 시간 = 0.067 즉 1 바탕 처리 유휴 시간 * 1 컴퓨터는 하루에 6 전체 작업을 처리할 수 있습니다.

않는 경우 메인 서버가 처리하는 경우로서 일 많은 작업에 따라 처리 유휴 데스크톱을 15 걸립니다 당신이 지금 이런 규모를.

50 기계 척 사무실 우리 그러니 우리는 서버의 처리 4 전체 최대 1 서버의 전원을 수 증가의 처리, 또는 우리는 백 대신 하루 작업을 400 처리 될 수 있습니다.

공지 사항은 하드웨어의 새로운 투자에 대한 귀하의 회사가 4 배 증가 단지의 일괄 처리 용량! 잠재적으로 당신은 당신이 녹색 구상이 잘 볼 수 있도록하여 전력 사용량을 증가하지만 어쨌든 일반적으로 하룻밤 사이에 남아있는 기계했던 대부분의 사무실 환경에서거야.

다른 장점은 또한 (또는 갱신) 처리 서버 사무실 기계가 충분한 경우에는 지연될 수 있습니다 당신은 자신의 사무실 그리드가 자동으로 더 강력한되고 사무실 컴퓨터의 전원을 개선함에 따라 새로운에 투자를 의미.

기술

뭐 필요하세요? (혹은 더 정확하게 제가 사용하는 짓을) :

  • 유휴 사무실 기계 (여분의 오래된 Windows XP의 노트북 내 경우)
  • VirtualBox (또는 다른 가상화 클라이언트 소프트웨어)
  • 기계와 함께 PHP를 가상, 아래 운영 체제 상처를 실행하는 runningÂ들은 MySQL, 내가 서버를 지치게 제품입니다 호출이 내 :)
  • 작업이 실행
  • 직업 서버 (어딘가에 또 다른 가상 머신 수 있습니다)

일반 채용 정보

다음과 같이이 시스템이 실행되도록 설계되는 작업의 종류입니다 :

  • 시스템은 즉시 우리가 일치하고 결과를 반환해야합니다 데이터의 목록을받습니다
  • 확인 / 여러 (상당히 정적) 데이터 소스를 검색 포함 일치
  • 데이터 소스의 결과가 결과에 대한 응답으로 추가적인 데이터 소스의 검사, 병합, 추가 유효성 검사가 필요할 수 있습니다
  • 데이터가 일치하는 레코드가 반환됩니다 완전히 확인 및 처리
  • 직장 내의 각 레코드 나머지는 독립이다

그러니까 기본적으로 우리는 데이터베이스 조회 및 일부 숫자 재정, 비즈니스 환경에서 매우 일반적인 시나리오의 혼합물을 필요로 작업을 실행에 찾고 있습니다.

그리드 솔루션은 이러한 유형의 작업을 처리를 위해 유리하지 않습니다. 기본적으로, 독립적인 단위로 분할 수있는 모든 프로세스가 병렬로 실행할 수 있습니다. : 자세한 내용이 위키 피 디아를위한 예제를 참조하십시오 그리드 컴퓨팅 지만, 유명한 예제 중 몇은 Seti @ 홈BIONC을 . 컴퓨팅 격자를 실행하기위한 프레임 워크가 있는데, 이들은 조사 가치가 있습니다.

우리가 무엇을 얻을 것인가?

난 사무실 격자를 배포 상당히 비싸거나 시간이 소요 필요가 없다는 것을 보여줄 수 있도록 노력하겠습니다이 기사의 끝에 있습니다. 난 토론거야 :

  • 직업 구성, 작업 제어 시스템을 설정하기
  • 적절한 처리를 가상 머신 만들기
  • 어떻게 설치 프로그램은 Windows 시스템에서 시스템
  • 보장 당신이 최신 코드와 데이터를 사용하는
  • 배포 및 벤치마킹
  • 앞에 보이는

내가 (확인, 내가 만든 다음, 이것을 쓴) Windows XP 및 내 'GridMachine'가상 머신을 사용하여 로컬 컴퓨터에있는 개념을 테스트하는 예제 응용 프로그램을 구축됩니다. 내 직업은 제어 서버가 실행되는 내 주요 기계됩니다 페도라 11 .

이것은 정상적으로 작동하고 강력한 시스템을 입증하기위한 방법에있는 그것의 의미 시위 더 이러한 것들은 시간의 합리적 짧은 공간에 약간의 비용으로 달성할 수있다는 것을 보여주는 논의. 나에게 어떤 의견, 수정 또는 개선을 보내 주시기 바랍니다 그리고 난이 일치하도록 업데이 트이 문서를 유지하기 위해 최선을 다하겠습니다.

다음번에

부분이 내가, 시스템 제어 작업의 시작으로보고에서하고 실패없이 처리보세요 작업은 각 그 반면에 보장의 처리 용량을 달성하기 위해서는 최고의 방법은 작업으로 구성되어야합니다.

를 사용하여 가상 환경을 그리드 컴퓨팅 오피스 - 2 부

스티븐 로이드 Watkin , 금요일 2009년 12월 4일 오후 11시 23분

소개

그날 각각의 데이터 레코드를 처리하는 업무에 수백만 달러의 작업을 일괄 실행 많은 우리 기업과 제가 각각의 주변 왔던 기계를 앉아 있었 다 생각하고 최근 몇 시간 동안 아무것도하지 않고 매일. 시스템의 처리 능력을 강화겠습니까 이러한 기계를 사용할 수 좋으면 우리가 수없는가? 기사 집합이 있음 난 사무실에 고용의 장점에있는 잠재력을보고가는거야 그리드 환경을 사용하여 가상.

제 1 부 나는 그리드를 사무실 만들 준 개요를 위해의 좋습니까 왜 시스템이 이유 잠재적인 논의 일부의과 기술뿐만 아니라 사용하고 난됩니다.

작업 제어

당신이가는 경우에는 당신이 그들을 관리하는 방법이 필요 할거야 다음 작업을 실행합니다. 귀하의 작업 제어 시스템 (직장 서버에서) 정말 잘 심지어 사무실에서 그리드를 실행하려고 시도하기 전에 생각해야합니다. 그래서 첫째, 무슨 일을 제어 시스템에 대한 작업 위치 :

  • 근로자의 요청에 따라 작업을 밖으로 손
  • 노동자는 무슨 작업의 종류 실행 해
  • 트랙 작업
  • 작업이 한번 실행에만있는 것으로 확인
  • 또는, 노동자에게 업무 데이터를 제공 적어도 어디에 그것을 얻기 위해서 그들에게

또한이 시스템은 비즈니스 그리드 솔루션의 가치를보고 같은 작업의 여러 유형을 실행하는 확장할 수 있습니다 확장할 수있게 이제 하나의 사건에서 작동하는 솔루션이 필요합니다. 예를 들어, 작업 우선순위를 얻을 수 있으며 하나 이상의 일자리 유형은 결국 당신도 그것은 '일반 노동자 떨어져 있기는하지만 (작업의 각 유형에 대한 최적화된 여러 작업자 기계를 실행할 수 있습니다 (즉, 여러 개의 코드베이스) 존재할 수 있습니다 '생각). 개발 시스템은 단기 비전은 장기적인 좌절감과 개발 시간 증가로 이어질 수있을 때 항상 미래에 대해 생각하려고 해요.

작업 서버

우리는 이것은 고정된 리소스 로케이터를 가지고 당신의 그리드에서 유일 시스템이어야에서 IP 주소, 호스트 이름, URL이 (내부 DNS를 사용하여), 등등이 있기 때문입니다가 될 우리의 작업을 통제하는 곳으로 필요 해요 노동자는 어디에 일자리를 찾아 알아야, 노동자는 작업 제어 시스템 (하지 작업 제어 시스템 노동자를 찾으) 찾아야 해요.

작업 서버 자체가 정말 복잡한 작업을 (기본적인 시스템 얘기할에서)가 없습니다, 그것은 잡스가 밖으로, 손으로 작업의 목록을 저장하는 결과가 나타납니다, 그리고 이후에 나중에 검색을 위해 그들을 저장할 필요합니다. 이러한 부품 (예 : '작업 밖으로 손') 아주 기본적인 수 있습니다 정의된 방법. 우리는 추가, 수정, 삭제, 작업을 중지 관리 인터페이스를 포함하도록 시스템을 확장할 수 있지만 나중에 본 운동 이상입니다.

아무 이유없이 당신의 일자리 서버가 기본 처리 서버 내에서 실행되는 가상 머신 수 없다는 다음이든지있다는 그곳에서 너무 많은 리소스를 유출하지 않습니다 제공됩니다. 그것은 잠재적으로 당신에게 주 처리 시간의 가치 정도 (혼자 기본 처리 서버에 비교할 때) 원가계산, 당신은 처리 주말 내내 잃게 될거야 금요일 저녁에 다운되면 일자리 서버 단, 필요한 높은 가용성을 않는다 . 당신은 높은 가용성을위한 분산 환경에서 작업 서버를 퍼팅하는 것이 좋습니다.

기본 설정

우리의 일이 서버에 대한 기본 설정)는 HP의 피, 윌 ySql 미터, nux는 리튬의 구성 서버 미약의 어떤 난 전화 한 제 (. the 노동자에서 실행되는 코드는 실제로 작업 제어 시스템 데이터베이스와 상호 작용하여 실행할 수있는 작업을 밖으로 작동합니다. 나중에 서비스를 웹 수도 만드는 우리는 스스로를 직장들에게 밖으로 힘든 작업을 대신보다하는 데 노동자 손을 사실에 대한하지만 지금은 계속 사용거야 우리가 비벼 원리를 (멍청한 계속 그것을 간단!).

그래서, 셋 만들 수 MySQL의 작업을 처리 테이블. 이들은`작업이 될`,`jobRecords`, 그리고`jobResults`.

작업 테이블 여기에 제가 사용하고 SQL 버디에게 멋진 작은 대안을 위해 phpMyAdmin 단지 :해서보고 다른 사람을위한 (centOS는 쉽게 설치에 10 그레이트 대안을 phpMyAdmin으로 )

이 표는 5, 단순한 필드로 구성되어 있습니다

  • 자료 ID : 유니 클리 작업을 식별
  • 이름 : 식별자 다른 그럴지 클라이언트 참조 번호 중 ​​하나, 또는
  • 상태 : 당신은 예, 어디에 있대 작업이 필요
    • 0 : 시작되지
    • 1 :이 나왔
    • 2 : 완료
  • started_by : 작업을 시작하고 누구예요? 이것은 전적으로 필요하지 않지만 가지고 좋은 것입니다. 난 당신의 네트워크에서 자신의 IP 주소에 의해 노동자를 추적하는 것이 좋습니다 싶어요
  • started_at : 작업을 시작하면 한 작업자가? 우리가 다시 한번 작업을 데리러와 다른 노동자로 처리를 시작할 필요가 아는 시간의 X 금액 이내에 완료하지 않은 작업을 추적하고 있습니다. 근로자 처리를 막을 수 / 이유 숫자, 정전, 추락, 네트워크 손실 등 오프라인으로 이동

이 테이블은 작업이 많은 노동자들이 (분명히 이것은 경향 데 필요한 작업을 주워 방식을 볼 수, 카운터는데 얼마나 걸린보고, 마무리 시간 열을 추적 통계가 가능하도록하기 위해서 몇 가지 추가 필드를 사용하여 확장할 수있는 방법은 간단합니다 1) 작업 우선 순위 목록에 갈 수 및. 보다 복잡한 작업 시나리오에서는 그것은 노동자가, (그리고 그러므로 오직 적합한 근로자를 사용하는)에 액세스해야하는 것이 얼마나 메모리 또는 심지어 노동자의 유형은 필요한 것입니다 무엇 지정하는 것이 가능해집니다.

수있는 몇 가지 예를 들어 작업을 추가 :

예를 들어 작업

다음 테이블은 다시 아주 이해하기 간단합니다, 이들은 우리의 일이 기록하고 있습니다. 그들은 열을 기준으로 기본 작업 테이블에 링크된`jobs_id. 우리가 네 컬럼을 가지고 매우 간단한 예제를 만들 수 있습니다, 대단히 당신이 근로자에​​게 공급하는 데 필요한 데이터에 따라이 표의하다 :

  • 자료 ID : 레코드의 ID
  • 이름 : 사람의 이름을
  • 주소 : 사람의 주소
  • jobs_id : 작업 ID로이 링크되어 기록

세 번째와 마지막 테이블 결과 테이블의 구성, 지금까지 많은 동일한 레코드가 테이블의 일부가 될 수있는 몇 가지 항목의 추가 기록 테이블로와 함께하다 :

  • job_record_id : 작업 테이블에 링크 결과를
  • 결과 : 결과 데이터

그리고 당신은 작업 제어에 필요한 모든 것! (아주 기초적인 수준이라도) 내 경우에는 내가 처리 내 데이터가 위치한되었습니다 다른 테이블을 가리 켰지만, 이건 그냥 쉽게, 시뮬레이션 코드를 실행하는 매개 변수를 파일을하고 수도, 당신이 그것을 이름.

직업 선택

이전에 언급한 바와 같이, 노동자 그래서 우리가 진짜로해야 모든 처리를 필요로하는 정보를 얻는 직업을 찾을 수있다, 지금은 우리를 위해 우리의 일이 경영을 할 것입니다. 우리가 어떻게 이런 짓을 했을까? 그럼 우리의 직업 선택 기준을 선택하고 작업에 봐, SQL에서 나는 다음과 같은 한 :

  1. 완료하지만 우리 근로자에​​서 표시되지 않으며, (가장 쉬운 IP 주소 될 식별자로 대체 __ME__) 그들을 재설정하는 작업을보세요 :
      업데이트`채용`설정`상태`= 0`어디 상태`= 1,`started_by`= __ME__; 
  2. 직업을 선택하고 해당 근로자가 취급되어 제어 시스템 말해, 우리의 직업 선택 기준을 사용 :
      업데이트`채용`설정`상태`= 1,`started_by`= __ME__,`started_at`= 이제 () 여기서`상태`= 0 또는
     (`상태`= 1``started_at> DATE_SUB (현 (), 엑스 간격 시간)) 명령에 의해이`오름차순`신분증; 

    우리는 모든 작업이 노동자가 충돌하거나 무단 외출의 경우에 실행되도록 시간의 X 금액에 결과를 반환하지 않은 일자리를 잡는 있습니다.

  3. 다음은 자체 기록을 다음에 작업 내용을 잡으 :
      * 선택로부터`채용`어디`started_by`= __ME__ 제한 1;
     * 선택로부터`job_records는`어디`=`id를 __JOBID__; 

작업이 완료되면 우리는 우리의 삽입 결과 기록하고 완료 작업을 표시합니다. 작업이 일시 중단 수 / 스크립트의 일부 견고 수 있도록 언제든지 다시 기억하십시오. 그것은 작업이 너무 일자리의 레코드의 개수와 현명한 조치가 되겠죠 작업 제어 시스템에 다시 저장한 검색 결과의 개수를 확인하고, 작업 제어 시스템을 업데이 트를 통해 절반쯤를 일시 중단되는 수도 있습니다.

또한,이 반면 정말 수있는이 작업 방법을 보여줍니다으로 선택합니다 SQL 쿼리 프레임 당신과 관리에서 추출 기반 시스템, 파일, 서비스를 웹 사용하는 작업 제어를 수 있도록한지 여부로 전환 XML을 , 또는 기타 시스템의 숫자는 그것이 위의 코드에 영향을주지 않습니다.

작업 구성

고려해야 할 측면은 다음 작업 크기와 구성입니다. 직업 구성에 재생하여 우리는 속도, 프로세스 복제 및 안정성 사이의 훌륭한 균형을 공격할 수 있습니다. 부부에게 소문이 시나리오를 가지고 :

  1. 작업이 실행 걸릴 일일에게 각 : 이것은) 시간이 의미 2/3rds위한 권력의 네 10 (기억이 작업을 처리 각각 15 일 근로자가 필요한 %를. 이것은 분명히 현명한 구성하지 않습니다, 당신의 직업 크기가 너무 큰 방법입니다! 그것은 (그것이 결과를 더한 재처리 시간이 반환되지 않았음을 데리러 시간) 최초의 노동자가 무단 가야 처리 직장을 얻기 위해 시간을 두 번 이상 걸릴 것입니다. 이상에서 당신은 이상 계속 당신은 ​​잡스가 똑딱이 방법 유휴 기간이 긴 끝에 각각의, 적어도 하나에 의해 전체 작업을 삭제 쉽게 줄이 것이 걸릴 일 실종 가장 먼저해야 공정 작업에 최악의 사건.
  2. 작업이 실행 분 1 의견 :이 작업을 각각의 의미를 실행 15 분 정도 걸릴 직원들은. 반면이 처음에는 이상하게 들리겠지만, 당신은 등이 시나리오가 시스템의 다른 영역에 대한 부담을 내건 자체적으로 문제를 도입 점심 시간, 커피 타임, 회의, 중 추가 작업 처리를 습득합니다. 예를 들어, 먼저 설치 / 처리 시간 비율 따라서 시스템의 효율성을 잃고, 바로 내려 갈 예정입니다. 네트워크가 지속적으로 작동하도록 그들의 일 하루 동 아르 좌절 직원 다양한 노동자에게 일자리 정보를 스트리밍 될 것입니다. 당신은 또한 그것은 많이하고 정기적으로 작품의 작은 조각을 많이 밖으로 요리한다대로 작업 처리 서버에 더 많은 부담을거야. 마지막으로,이 상황에서 당신의 직업 서버가 처리를 전엔 작업 서버가 어려움을 겪고 있는지 몰랐습 지속적인 수도의 큰 작업 반면 uncompleted 작품의 거대한 다시 로그인을 창조하는거야 다운되면.

실제로 많이 사용할 수있는 리소스, 작업 처리 시간 요구 사항, 네트워크 능력 등 직업의 종류에 따라, 귀하의 그리드 설정을위한 아무 이상적인 구성이있을 것입니다. 그러나 몇 가지 지침은 다음과 같다 :

  • 크기 잡스는 이렇게 각각의 근로자는 15 시간 (가장 긴 가능성이 유휴 기간)의 기간 동안 적어도 3-4 작업을 통해 얻을 수있는
  • 그 설치 시간이 상당히 무의미한 처리 시간 (마음 위 지점에 베어링)에 비해 됐을 작업의 크기와 재생합니다.
  • 일은 자네가 그렇게 그 간 탈영을지지하고 다른 작업자와 함께 작업을 시작해야 완료하는 데 예상 (어쩌면 간단히보기) 두 시간의 양을를 완료하지 않는 경우. 이것은 그것은 (아마도 더 이상 후속 작업이 실패하는 경우)을 완료하는 세 번 직장의 정상적인 길이를 기다려야 할 수도 있습니다을 의미합니다. 당신은 시간이 절감하려는 수 있으나 정기적인 기초에 대해 작업을 처리 조심 중복되지 시작할 수 있습니다 당신만큼 너무 줄이기 위해 그것을.
  • 잡스는 최대한 외부의 요구 사항을 독립해야합니다. 작업 서버는 예를 들어, 단지 시작과 끝 모든 직업에 연락해야합니다.
  • 네트워크를 포화하지 마,이 두 가지 부정적인 영향을 갖습니다, 당신의 낮 직원은 네트워크와 좌절 문제는 연결은 당신의 격자 규모로 악화될 것입니다 문제를 밖으로 타이밍을 경험 수를 사용하여 찾을 수 있습니다.
  • 보장 잡스는 직원에 실행할 수 있습니다. 잡스는 너무 메모리를 집중되는 경우 또는 디스크 공간 집약적인 작업이 중지됩니다 당신이 알 수있는 유일한 이유는 진짜 이유와 처리 작업의 수가 한 방울입니다.

직업의 제출 결과

작업의 결과를 제출할 때 그 결과가 현재의 노동자 한동안 휴면되었습니다 특히, 다른 노동자 제출되지 않았는지 확인하는 것이 중요합니다.

언제 결과는 결과의 숫자는 작업 내에서 레코드의 번호와 일치하는지 확인 제출됩니다.

그리고, 이전에 명시된 바와 같이 직업 검색 및 결과 제출에 내결함성를 구축, 강조 끝날 수 없습니다. 노동자 수있는 가장 시대의 불편한에서 모드를 중지로 가서이가 음식을 제공 했었죠해야합니다 (그리고 가장 가능성이 높습니다.) 또한 다시 한번 더 쉽게 처리하여 작업 제어 시스템으로 미래의 변화에​​ 맞추 도움이 될 것입 결과 제출 멀리 추출.

개요

이 sectionÂ에서 우리는 작업 제어 서버에게 필요한 건 무엇을 어떻게 설정하는 아주 기본적인 시스템을 얻으려면 받게요. 우리는 제어 시스템에서 작업을 검색하는 방법과 최상의 작업을 구성하려면 논의 가장 저희 사무실 그리드 시스템. , 작업 제어 서버에 다시 결과를 제출에 대한 단락을 두 끝내에게 수여되었다.

  • 작업 제어 서버가 작업을 관리하고 모든 작업 단위가 완료되는지 확인합니다
  • 직장이 / 결과 제출을 우리는 많은 문제없이 제어 서버의 기술을 변경할 수 있습니다 선택 추출함으로써
  • 구성 작업이 그들이 당신의 네트워크 인프라에 너무 많은 압박을 가하고없이 정기적으로 처리하는 작업을 복제하지 않고도 신속하고 효율적으로 실행할 수 있는지 확인합니다.
  • 확인하십시오 당신이 루틴에 내결함성 및 오류 checkingÂ을 구축 즉, 근로자는 일시 중지하고 다시 시작하고 가장 시대의 불편. 결과는 이미 다른 노동자에 의해 제출되어 있는지 확인하십시오.

다음번에

제 3 부 우리는 기계를 만들고 처리하는거야 우리의 가상 세계와 노동자 시간이 될 유휴 대 머신을 설정 우리의 윈도우.

를 사용하여 가상 환경을 그리드 컴퓨팅 오피스 - 5 부

스티븐 로이드 Watkin , 금요일 2009년 12월 4일 오후 11시 3분

소개

그날 각각의 데이터 레코드를 처리하는 업무에 수백만 달러의 작업을 일괄 실행 많은 우리 기업과 제가 각각의 주변 왔던 기계를 앉아 있었 다 생각하고 최근 몇 시간 동안 아무것도하지 않고 매일. 시스템의 처리 능력을 강화겠습니까 이러한 기계를 사용할 수 좋으면 우리가 수없는가? 기사 집합이 있음 난 사무실에 고용의 장점에있는 잠재력을보고가는거야 그리드 환경을 사용하여 가상.

에서 제 4 부 우리는 논리와 정보를 최신의 비즈니스와 함께 보았다 날짜까지 - 항상 그래서 얻은 결과는 데이터 소스로 사용하여 도구를 버전의 코드 최신 보장 우린 실행.

사전 배포

시스템을 그리드 전개하기 전에 여러분의 시스템은 현재 하나면 거기로 가지 말고 한 벤치 마크의 것은 혼자가! 당신의 보장은 아무것도 최대 이것을 다시 숫자를하지 않는 당신의 시스템이 할 일이 얼마나 많은 추가 작업에 대한 동료에게 무슨 일이있어도. 그래서,

  • 얼마나 많은 레코드를 현재 프로세스 수 있습니까? 하루? 시간당?
  • 얼마나 시간이 일반적으로 직장을 바꿀 걸립니까?
  • 얼마나 더 많은 용량이 필요합니까?

또한 추가 질문이 있어요 :

  • 당신의 처리 서버 (또는 처리 서버 중 하나)이있다면 당신이 불구가 될 것입니다, 당신의 능력을 영향을 미치는지 내려갑니다?
  • 어떤 장점이 / 그리드 시스템에서 얻을 기대 기대합니까?
  • 사무실 컴퓨터가 작업을 실행할 수 있습니까?
  • 귀하 (또는 당신이 작업이 변환될 수)를 실행하는이 스타일에서 일하고 있습니까?

마지막으로 주요 요점은 이런 모든 주요 변경 사항에 시간이 걸릴 것입니다. , 벤치 마크 다시 새로운 방법론을 사용하여 작동하도록하여 처리 코드를 업데이 트합니다. 아마 모든 처리를 서버가 또 다른 작업자 (그냥 아주 강력한 하나 상대적으로) 될 후에, 가상 머신을 실행하여 처리하는 서버를 설정할 수 있습니다. 정착에 새로운 프로세스를 허용합니다.

전개

나의 제안은 설정 및 설치의 모든 사무실 한 주말 수행하는 것이 될 팝업으로. 휴일 두달 말고 이것을 바로 앞에 아니라 결과 ... 아마 녀석을 불쌍한 다른 남겨주에 거래를 ...

이런 시스템에 대한 배포 천천히해야합니다. 그것은 상대적으로 당신 사무실 전체 인프라를 (물론 디지털 하나)에 영향을 미칠 것입니다이 시스템을 설정하는 간단한이지만. 첫째, 어떻게 노동자 호스트는 일 - 대 - 일 단위로 수행하는 네트워크 트래픽을 모니터링 한 번에 기계 몇 가지로 굴려라. 당신은 당신의 결과에 대한 응답으로 귀하의 직업 구성을 변경해야 할 수도 있습니다.

시스템이 몇 가지 기계를 해결되면 이제 첫 번째 벤치 마크보다 33% 더 많은 작업을 처리한다, 다시 네트워크 트래픽 및 호스트 머신 performance. 다음 벤치 마크를 모니터링하고 유지 (모든 사무실 컴퓨터의 10 %, 즉 5 말할 수 있습니다.) 이 방법은 그리하거나이 야구장에 적어도 걸 확인하십시오. 그렇지 않은 경우에 옮기기 전에 무슨 일이 일어나고 있는지 조사. 반복 당신이 행복하게 모든 Office 시스템은 개별 컴퓨터의 성능을 살해하거나 정돈으로 네트워크를 분쇄하지 않고 실행 때까지이주기를.

모든 시간은, 벤치마킹 유지의 모든 전개가 만들어진 이후에도. 새 코드 업데이 트를 모든 노동자는 작업 처리 및보고하는 확인 시스템의 속도를 영향을 미치는지 확인하십시오. 천천히 (아주 천천히) 증가하여 작업 구성하여 노동자와 네트워크에서 가장 얻을 수 있습니다.

그만해!

당신이 어떤 시간에 실행에서 노동자를 막으려면? 그들은 모두가, 재생, 실행하고 굶주린 곤충처럼 데이터를 처리하는 데 최선을 노력하고 있습니다. 그 대답은 분명 그 가치는 간과 경우를 대비해서 추가하는 것처럼 보일 수 있습니다. 단순히 출구 (0) 또는 죽을 () 또는 처리 작업을 죽이고 다른 문장으로 처리하는 스크립트를 편집할 수 있습니다. 중요한 이유는 왜 우리는 항상 어떤 실행하기 전에 최신 처리를 스크립트로 업데이 트하려고!

시범 시스템

위해서 나는 기술과 방법론을 설명하기 위해 매우 작은 격자를 만들어 짧은 기사의이 세트를 작성할 수 있습니다. 전, 기사, 자습서를 많이 읽으 및 설정에 다양한 도구를 사용하고 무슨 일이 있었는지 모니터링합니다. 아무 뜻은 내가 밖으로 나와서함으로써 교통 가진 모든 사무실을 포화와도 내가 호스트 성능에 영향을 방식을 볼 수 정기적으로 직원 PC에 접근할 수 있었다.

내 데모 시스템은 천성이 아주 겸손했다. 내 일반 데스크톱 작업 제어 서버로 설정하는 데 사용됩니다. 이번에 제가 설치한 MySQL의 복제에서 마스터로 설정 설치된 서버, PHP는 , A와 SVN을 통해 연결된 아파치 (VM을 통해 작업자에 대한 액세스).

그럼 내가 6 살 Windows XP의 노트북에 VirtualBox에 centOS 작업자 기계를 만들었습니다. 컴퓨터에 VM을 복사하고 가자 이후에 지정된 작업을 예정 나 설치.

가상 머신은 PHP로, Subversion을, 그리고 MySQL과 연동하여 설정되었다. 내 작업 제어 서버의 저장소에서 '노동자'와 확인하고 그것은 'svn 업데이트'를 사용하여 업데이트 될 수라는 분기를 체크 아웃. 다음에 내가 설치 노예로 MySQL을 사용하고 데이터가 작업 제어 서버 다운 작업자 VM에에 MySQL에서 복제 것을 확인 했어요. 이 전 설치 bash에 스크립트와 cron 작업 후.

나의 처리 스크립트는 기본적으로이 (매우 간단한 물건)의 노선을 따라 갔어요 :

  • 이름 필드에 읽기
  • VM을 개최 데이터 원본의 테이블에 비슷한 이름의 숫자를 헤아릴
  • 위와 같이 이름의 숫자를 헤아릴하지만 공백 (예 : forename, 중, 성)의 이름을 분할
  • 1000 번이 과정을 반복

각 작업을 실행하려면 약 20 분이 걸렸다. 어느 시점부터 제가 윈도우 노트북에있는 작업자 VM의 여러 복사본을 열어 작업이 노동자의 IP 주소의 각으로 해제 체크 보았다. 이 시점에서 나는 또한 그 복제가 자동으로 다시 확인했다.

노트북을 떠나는 작업 제어 서버에서 작업을 처리하기 시작 노동자 결과 유휴 수 있습니다. 노트북 사용을 재개 약 30-60초의 지연될 때, 이것이 그들의 기계가 잠시 동안 일시 정지 기계로 돌아가는 수 때 알게 될 필요가있을 것입 시간과 직원들의 공정한 금액입니다. 최신 기계는이 정도의 일시 정지를하지 않을 수 있습니다. 금액의 장점은 짧은 기간을 기다릴 필요 스탭들을보다 중요한 유휴 기간 것이 더 동안이 기계에 의해 수행 처리 난 자주 더 이상 기다릴 아침 (자신의 컴퓨터에 도착에 (말할 일분)을 Windows Defender에서이 ) 자리를 차지할 그들은 모닝 커피를 잡아이 (유용한 시간 인식되었다 제공하는 업데이 트를!).

전체적으로 내가 이러한 시스템을 만드는 데 사용할 수있는 기술을 시연했다고 확신합니다. 그런 시스템이 (아주) 작은 규모와 좀 더 사무실의 컴퓨터의 자원을 활용하여 최대 크기를 조정 될 수 실험으로 작동하는 것으로 나타났습니다. 내가 이런 짓을의 요점에 도착하지 않으면 난 정말 알고 / 다른 사람이 볼 때 그 관심을 가질 것입니다.

결론 / 평가

다음 단계는 분명한 사실은 실제 예제를 얻을 것입니다과 사무실 환경 내에서 이와 같은 시스템을 배포하고 어떻게되는지 시작합니다. 이 기술을 증명하는 흔적 타오르는 기업과 효과없이 저지에 사업을 요구 조금 어려울 수 있습니다. 그리드 / 분산 컴퓨팅은 매우 인기가 일부 동그라미가 있으며 (BIONC, SETI @ 홈, Folding @ home에, 등) 규모가 큰 애플 리케이션을했다. 나는 다만, 작은 규모와 그 사무실 환경 내에서 밖으로 압연 수 내 검색에 이런 간단한 시스템을 발견하지 않았다.

나는 거의 모든 사무실에서 주로 오픈 소스 소프트웨어와 도구를 사용하여 사용 가능한 기본적으로 무료로 시스템을 만들었습니다. 기술은 기본적으로 시연되었다 수행하고 예상대로 작동 보여줍니다. 다행스럽게도 필자는 매우 간단한 설치 프로그램별로 작업과 함께 당신은 싸구려, 강력하고 확장성이 모두 같은 시간에 사무실 그리드 컴퓨팅 시스템을 배포할 수 있습니다한다는 것을 보여주기 있습니다.

시스템이되면하고 실행 거의 정의하고 만들 수있는 개선의 금액에 끝이 없습니다. 예를 들어 통계 / 벤치마킹 쉽게 이러한 시스템의 가치를 매일 보여주는 추가할 수 있습니다. 새로운 기계와 빠르고 쉽게 추가할 수 있습니다 그들은 당신의 처리 능력을 강화 기존의 하드웨어 업그레이 드와 함께 도착했을 때.

나는 당신이 기사의이 일련의 일원이 된다는게의 사무실 그리드 시스템을 실행에 당신에게 줄 먹이를 주어. 이 솔루션은 반드시 있지만, 모든 상황에서 작동하지 않습니다 자신의 솔루션을 사용하여 일을 처리하여 데이터를 얻을 수 있도록 적응력되어야 여기에 제시했습니다.

나에게 어떤 의견, 수정 또는 개선을 보내 주시기 바랍니다 그리고 난이 일치하도록 업데이 트이 문서를 유지하기 위해 최선을 다하겠습니다.

젠드 프레임 워크 : 기초 - 검토

스티븐 로이드 Watkin , 토요일 2009년 11월 28일 오후 10시 42분

내 고용주가 최근 받아 개발자에게 우리의 그룹에 대해 지불한 : 기본 프레임 워크를 젠드 다른 코스 과정에 대한 나의 생각과 의견을 요약 줄께 여기. 그 시간을 저장 찾고, 여기 내 요약입니다 :

에 들어 보는 시간이 없었 개발자 젠드 프레임 워크 이 코스 (젠드 프레임 워크 : 기본) 계속 정보를 질서 정도로하고 배려심의 전반적인 사진을 제공하는 좋은 영역 키에 프레임 워크를 소개합니다. 넘어 많은 것을보고 시간을 할애했습니다 누가 이들을 제공하지 튜토리얼이 코스는 않습니다 프레임 워크와 두 개 또는 하나도 따라갔다.

배경

난 봤는데 PHP를 하고, 주변 5-6년에 대한 개발자 개월 6 마지막 구성 요소 기반 위에 젠드 프레임 워크에서이 작업 시작. 전 및 / 또는 Framework를 개발한 작은 젠드 정도에 있었 개발자를 MVC 솔직히 sites.Â가 될거야, 난 몇 지출 전망하지만이 시점에서 코딩 프레임 워크 노출에 다른 금액을 거대한 적이 없습 니다만 ... 시간 프로젝트 웹사이트를 연구하고 them.Â에게 프레임 워크를 평가하고 젠드 프레임 워크를 둘러싼 지역 사회에 그것은 매우 흥분되는 그 어디가는에 큰 가능성이있을 것 같습니다.

코스 소개

코스는 9 이시간 웹엑스 세션 (중간에 10 분 휴식)를 통해 전달됩니다. 시간은 언제든지 토론과 젠드에서 제공하는 슬라이드의 집합을 겪고 지출이다. 당신은, 강사 얘기하고 마이크를 사용할 수 솔직히 말해서 난 아무도 사용 아무것 채팅 창을 이상 보지 못했어요. 또한 VM웨어 우분투 기계는 예제 코드를 가지고와 프로젝트는 젠드 스튜디오 평가판을 설치 제공됩니다. 통합의 VoIP 솔루션을 통해 중 참석자에게 코스 지도자 회담, 또는 숫자가 많은 전세계 다이얼 중 하나를 사용하여 전화를하실 수 있습니다.

과정에서 자료가 샘플 방명록 응용 프로그램에 머리글 전에 프레임 워크 및 MVC 패턴에 대한 간략한 개요로 구성되어 있습니다. 토론은, Zend_Application를 데이터베이스 테이블, 데이터베이스 액세스, 양식, 필터링, ACL을, 확인 등 부트 스트랩 시연 기본적으로 당신에게 도구를 전해주고 실행되는 모든 시간까지 기본적인 사이트를 얻을 필요가있는 모든 주제를 다루는 등 가서 프레임 워크에 더 고급 타 (이가 금액을했지만 '참조 웹사이트'의 시간을 많이.)

시간은 몇 가지 예제를 코드에있는 '방명록'과 단순한 '위키'응용 프로그램을 개발 주어집니다. 필자는 개인적으로 코드를 각 애플 리케이션을 제공하고 우리가 정말 좋은 학습 경험을 제공하지 않았 함께 본질적으로 복사 있었는지 개발을 묻는 것을 느꼈습니다. 나는 동일한 아니라, 비슷한 응용 프로그램을 개발하기 위해 선호하는 것입니다. 참조에 대한 안내가 발생의 이익과 예제 응용 프로그램. 물론 이후에 구체를 찾아볼 수 모든 주도 뒤, 프레임 워크를 더 이해의 더 나은 질문을주는 방법에 따라서 약 이유는 아마도 것입 또는 ​​건물 시위 운동자와 함께 처음부터 응용 프로그램을.

마지막 강의 도움 /지도 강사에서와 위키 응용 프로그램에서 작업 이루어져있다. 물론 의견을 찍은 후, 젠드 분명히 물론 우리의 버전은 아주 새것이었고, 사실, 매우 중요하게 의견이 걸린다는 코스를 통해 여러 번 강조했다. 회사에서 다른 개발자 중 일부는 그럼이 일이 일어 났는지 재미있을 것입니다 곧 과정을 복용한다.

물론 스타일은 의견과 협력을 참석자와 강사 사이에 허용되는, 비공식했다. 코스 리더 (이메일 주소는 질문에 대한 공유했다), 친근한 친절했고 슬라이드는 약간 불안 해했다으로부터 완벽하게 프레임 워크에 관할 보였다 그의 프레 젠 테이션을줍니다. 그는 분명히 과정을 가르치고 가르치고 사람보다는 정기적으로 프레임 워크를 사용하는 사람이 있었어요, 그 존경의 '현실'의 경험을 좋아했다.

전반적인 느낌

몇 가지 방법으로 다른 사람에 아주 유용했습니다, 물론 시간 낭비를 발견. 다행스럽게도 필자는, 그리고 명확하게 건너 이유 가져 올게 않을까 생각이나 유용한 피드백을위한 몇 가지 음식을 제공합니다 (이것은 의아 나를 알고!).

나의 경우이 과정은 너무 낮은 수준을 목표로했다. 빠른 시작 가이드를 통해 사라져면서,, 액션에 롭 알렌의 젠드 프레임 워크를 읽고 난 조금 정말 너무 아무것도 못해서 프레임 워크와 함께했습니다. 제가 것이 빠른 시작의 끝 부분에서 데리러와 추가 기술을 개발 과정을 좋아했습니다.

"할 수와 그 밖 양상 과정 그게 뭔지 기초를 달성 세트 그게 말했다, 물론 제목 : 프레임 워크가 젠드"분명하게 명시. 프레임 워크를 조사 시간을 보낸 적이없는 개발 팀의 다른 구성원 정말 만나서 반가웠어요 열정 묻는 질문에 각 세션을 끝냈다.

전부 다 잃은 건 아니 었어,이 프레임 워크의 기본적인 세부 사항을 확인하는 시간을 보내고 난 100 % 아니었 분야에서 몇 가지 질문을 질문에 좋다. 그건 내가하고 매일 앉아있어 그것에 대해 프레임 워크와 미래의 프로젝트, 뭔가를 사용하여 코딩 생각도 시간이 였고, 내가 아니 (당신의 회사가 그에 동의 상상할 수 있을까요? :) 달리 할 수​​ 있었을 것이다.) 젠드에서 지난 아니 적어도 당신은 또한 좀 좋은 인증서가 (이메일이라도) 과정을 참석다고합니다.

젠드 프레임 워크 인증

이것은 인증 날 준비하는 것이 과정 중에 마음에 계속 생겨나 한가지 질문, 어땠어? 빨리, 쉽게 resounding. 과정 강사 인증 너 정말 일 기준으로 하루에 프레임 워크를 사용해야한다는 매우 편안하고 자신감의 사용법과 방법론에 기분이 추가 조언과 아주 거기에 분명했습니다.

개요

나는 내가이 쉬운 총알 지점에 모든 것을 요약거야, 위에서 작성한 모든 것을 감안할 때 :

  • 새로운 프레임 워크에 젠드 :이 과정은 기대할 당신이 무엇을 정확하게, 그것은 빌드 제공하는 당신이 할 수에서 당신에게 좋은에 대한 기본적인 접지 좋은 소개를하고 프레임 워크. 코스는 관심과 열정 개발자 사이에서 프레임 워크 생성하는 것 같다.
  • 사용하는 젠드 프레임 워크가 : 기초 동안 매우 중 일부를 해안 그게 좋은 나는 노력을 느낀 시간, 그리고 자금이 다른 지출에 걸릴 더 좋았을 수도 코스. 다음에 즉시 서명 난 저 레벨 인증을 위하여.위한 표준에 - 적어도 개발자를 데리고 과정을하는 것입니다 니스 그것은 수준 높은 see 새로 만들 젠드가.












파노라마 테마로 Themocracy

6 방문자가 온라인으로 지금
4 인용, 2 봇, 0 회원
최대 방문자 오늘 : 오후 12시 11분시 세계 협정시 01시 04분
이번 달 : 26시 2011년 7월 5일 12시 35분가 세계 협정시 오전
올해 : 130에서 28-03-2011 세계 협정시 오후 10시 40분
전체 시간 : 130시 28-03-2011 세계 협정시 오후 10시 40분