Bài viết được gắn thẻ: lật đổ

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 4

, thứ Sáu ngày 04 tháng 12 năm 2009 11:59

Giới thiệu

Tôi làm việc trong một công ty mà chúng tôi chạy nhiều công việc hàng loạt chế biến hàng triệu bản ghi dữ liệu mỗi ngày và tôi đã suy nghĩ gần đây về tất cả các máy ngồi xung quanh mỗi ngày và không làm gì trong vài giờ. Nó sẽ không tốt nếu chúng ta có thể sử dụng những máy móc để tăng cường sức mạnh xử lý của hệ thống của chúng tôi? Trong tập hợp các bài viết này, tôi sẽ xem xét các lợi ích tiềm năng của việc sử dụng một văn phòng lưới điện bằng cách sử dụng môi trường ảo hóa.

Trong phần 3, chúng tôi tạo ra máy chế biến ảo của chúng tôi và thiết lập cửa sổ máy để trở thành công nhân có thời gian nhàn rỗi.

Chạy mã mới nhất

Chắc chắn sau khi tạo nhân viên logic kinh doanh của bạn sẽ thay đổi, lỗi sẽ được tìm thấy, mã nhanh hơn hiệu quả hơn sẽ được sản xuất do đó để lại nhân viên của bạn ngồi xung quanh xử lý dữ liệu bằng cách sử dụng cũ đang có mùi . Làm thế nào sau đó chúng tôi đảm bảo rằng chúng tôi luôn sử dụng phiên bản mới nhất và lớn nhất của các kịch bản xử lý của chúng tôi?

Có một vài cách dễ dàng đơn giản, chúng ta có thể làm điều này, thủ đoạn này, tuy nhiên, là để giảm sức mạnh xử lý và mạng lưới giao thông trong việc đạt được điều này. Cho phép bắt đầu với các giải pháp đơn giản và cải thiện từ từ trong một vài lặp đi lặp lại.

Phương pháp đầu tiên là chỉ đơn giản là kết nối với máy chủ kiểm soát công việc của chúng tôi (qua samba, FTP, hoặc tương tự) và kéo xuống các phiên bản mới nhất của mã này. Không phải rất hiệu quả, nhưng nó sẽ làm công việc. Cho phép cải thiện phần nào, làm thế nào về việc tạo ra một kịch bản rsync và sử dụng mà mỗi lần thay vì? Ngoài ra những gì về việc đưa kịch bản xử lý mới nhất của chúng tôi vào lật đổ kiểm tra ra các mã ban đầu và sau đó chỉ cần cập nhật mã của chúng tôi trên mỗi run ( svn cập nhật )

Cuối cùng, chúng ta có thể kết thúc với một kịch bản bash (được gọi là định kỳ mỗi 10 phút) có vẻ đơn giản như sau:

  # / Bin / sh
 nếu ps ax | grep-v grep | grep php > / dev / null
 sau đó
     echo "công việc hiện đang được chế biến, xuất cảnh"
 khác
     echo "Công việc không chạy, bắt đầu ngay bây giờ"
     cd / path / to / / sao chép
     svn cập nhật
     php yourJobProcessingScript.php
 fi 

Bây giờ chúng ta có thể chắc chắn rằng với mỗi lần chạy, chúng tôi chắc chắn đang chạy mã mới nhất. Chúng tôi đảm bảo điều này bằng cách cập nhật cơ sở mã của chúng tôi thời gian và chúng tôi thực hiện một hoạt động và giảm lưu lượng mạng bằng cách chỉ chuyển sự khác biệt tập tin trên mạng của chúng tôi.

Trong thiết lập trình diễn của tôi, tôi đã làm chính xác như trên. Subversion được cài đặt trên máy chủ xử lý công việc của tôi và tôi chỉ đơn giản là kéo mã mới nhất từ ​​một chi nhánh của công nhân bằng cách sử dụng 'svn các bản cập nhật'. Tôi cũng đã thêm một thẻ số phiên bản để xử lý kịch bản của tôi được trả lại cho cơ sở dữ liệu như là một phần của sự trở lại kết quả. Bằng cách này tôi có thể thấy rằng mã của tôi đã được cập nhật mỗi khi tôi sao chép thân của tôi vào các nhân viên, tức là chi nhánh mà tôi chắc chắn chạy kịch bản xử lý mới nhất.

Sử dụng dữ liệu mới nhất

Nếu xử lý công việc của bạn làm cho việc sử dụng các nguồn dữ liệu sau đó tại một số điểm sẽ được cập nhật quá. Trừ khi bạn gọi các nguồn dữ liệu của bạn trên một cơ sở rất thường xuyên bạn sẽ làm tràn ngập hệ thống mạng của bạn với lưu lượng truy cập càng sớm như công nhân của bạn bắt đầu chạy tất cả mọi thứ bế tắc. Đối với giải pháp của tôi, tôi quyết định rằng tôi muốn để di chuyển các nguồn dữ liệu của tôi xung quanh với máy ảo của tôi.

Giữ bạn là con ngựa đó! Nguồn dữ liệu của tôi là gì HUGE? Vâng điều này thực sự là một trường hợp của bao nhiêu dữ liệu chúng ta đang nói? Nó có thể là tiết kiệm chi phí hiệu quả để cài đặt một ổ đĩa cứng bổ sung lớn hơn vào mỗi máy hơn là mua một máy chủ xử lý bổ sung. Đây là một câu hỏi của ngân sách và kinh doanh để quyết định. Nó có thể đó là nguồn dữ liệu của bạn là quá lớn nên không khả thi để giữ cho rằng số lượng dữ liệu trong các máy nhân viên của bạn. Trong trường hợp đó bạn sẽ làm gì? Vâng, chúng tôi có thể nhìn vào gọi một máy chủ dữ liệu địa phương, nhưng điều này có thể gây ra các vấn đề với mạng. Trong trường hợp này, một hệ thống lưới điện như thế này có thể trở thành không thực tế để bao gồm trong môi trường văn phòng của bạn. Nó cũng có thể là bạn có thể nhìn vào các chiến lược thay thế chạy, ví dụ như chỉ kêu gọi công nhân của bạn 20:00-06:00 mỗi đêm và / hoặc nguồn dữ liệu yêu cầu throttling.

Di chuyển trên cho phép nói rằng số lượng nguồn dữ liệu của chúng tôi đến 100GB dữ liệu. Cũng có khá một chút dữ liệu để di chuyển xung quanh mạng cập nhật. Làm thế nào chúng ta sẽ đảm bảo rằng chúng tôi có bản sao mới nhất của các dữ liệu trong trường hợp này? Rsync là một khả năng, nhưng cá nhân tôi nghĩ rằng bằng cách chạy nguồn dữ liệu mới nhất của bạn trên máy chủ xử lý công việc của bạn và thiết lập này lên như là một bậc thầy trong nhân rộng (với một bản ghi bin tốt đẹp lâu dài) có thể là cách để đi:

nhân rộng Bằng cách thiết lập mỗi công nhân của bạn như là một nô lệ các bản cập nhật máy chủ kiểm soát công việc để nguồn dữ liệu của bạn sẽ chảy xuống độc đáo cho người lao động của bạn mà không có một sự gia tăng rất lớn trong hoạt động mạng (có nghĩa là trừ khi bạn thực hiện một cập nhật dữ liệu rất lớn và tất cả các công nhân đá trong cùng một lúc). Điều này có lợi thế hơn rsync trong đó bạn sẽ không nhận được một lúc ngập ngừng trước khi mỗi công việc, như các bản cập nhật cơ sở dữ liệu, mysql daemon nhân viên của bạn sẽ liên tục cập nhật dữ liệu của nó khi xử lý vẫn tiếp tục.

Điều này là làm thế nào tôi thiết lập máy chủ trình diễn của tôi. Để thiết lập sao chép theo hướng dẫn trên trang web mySQL ( Thiết lập sao chép ) và trong vòng 20 phút tôi đã có nhân viên inital của tôi sao chép các tập dữ liệu máy chủ kiểm soát công việc. Đối với mỗi người lao động bổ sung các thiết lập sao chép và quá trình làm việc mỗi khi VM đã được sao chép.

Tóm tắt thông tin

Trong phần này của bài viết chúng tôi đã xem xét cách dễ dàng và không đau là để giữ cho mã xử lý của bạn cập nhật bằng cách using rsync hoặc subverion (SVN) để làm công việc và làm giảm lưu lượng mạng tại cùng một time. Chúng tôi cũng thảo luận làm thế nào để giữ cho nguồn thông tin dữ liệu của bạn up-to-date bằng cách cho phép nó chảy xuống cho mỗi công nhân của bạn. Vì vậy chúng tôi khu vực đảm bảo rằng chúng tôi tiếp tục với logic kinh doanh và thông tin trong hệ thống mạng lưới văn phòng của chúng tôi. Rõ ràng là sẽ có vô số lựa chọn thay thế để thực hiện các nhiệm vụ này, nhưng ở đây là hai ví dụ đơn giản để hiển thị một giải pháp dễ dàng để đi qua.

Tiếp theo thời gian

Trong phần cuối cùng của loạt bài này, aptly tên là Phần 5 , chúng tôi sẽ thảo luận về việc triển khai hệ thống này. Tôi sẽ tóm tắt những gì đã học được và những gì tôi quản lý để tạo ra.

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 1

, thứ Sáu ngày 04 tháng 12 năm 2009 11:23

Giới thiệu

Tôi làm việc trong một công ty mà chúng tôi chạy nhiều công việc hàng loạt chế biến hàng triệu bản ghi dữ liệu mỗi ngày và tôi đã suy nghĩ gần đây về tất cả các máy ngồi xung quanh mỗi ngày và không làm gì trong vài giờ. Nó sẽ không tốt nếu chúng ta có thể sử dụng những máy móc để tăng cường sức mạnh xử lý của hệ thống của chúng tôi? Trong tập hợp các bài viết này, tôi sẽ xem xét các lợi ích tiềm năng của việc sử dụng một văn phòng lưới điện bằng cách sử dụng môi trường ảo hóa.

Là một PHP phát triển, tôi sẽ sử dụng các công cụ mà tôi sử dụng mỗi ngày cụ thể là, Linux, mySQL , PHP, VirtualBox và lật đổ (SVN). Tuy nhiên tôi hy vọng hướng dẫn này sẽ thích ứng với ngôn ngữ và các công nghệ khác chỉ là tốt.

Các giải pháp tôi cung cấp sẽ được dựa trên các loại chế biến chúng ta cần phải đạt được tuy nhiên điều này có thể không đúng sự thật thông qua toàn bộ bài viết như tôi sẽ thay đổi mọi thứ để đơn giản, hoặc để sản xuất các kịch bản sử dụng thú vị hơn.

Những môi trường ảo hóa sẽ chạy trên cửa sổ máy vì đây là những gì đa số các văn phòng chạy. Việc xử lý các máy văn phòng không nên can thiệp với nhân viên bằng cách sử dụng các máy, nên không cần bảo trì máy tính, và có thể dễ dàng triển khai cho các máy tính mới khi chúng trở nên có sẵn. Ngoài ra, các máy ảo mới không yêu cầu bất kỳ cấu hình bổ sung như điều này làm giảm đáng kể khả năng mở rộng và dễ dàng mà tại đó các hệ thống lưới điện có thể được mở rộng.

Tại sao Triển khai một lưới máy tính văn phòng?

Trước hết bạn có thể nghĩ, tại sao không chỉ sử dụng một nguồn tài nguyên điện toán đám mây như nền tảng EC2 của Amazon ? Vâng, lý do có thể là một số, ví dụ:

  • Bạn sẽ không ủy thác cho các dữ liệu nhất định đến một môi trường điện toán đám mây
  • Bạn không thể đưa dữ liệu nhất định vào một môi trường điện toán đám mây vì lý do pháp lý (dữ liệu ví dụ như rời khỏi đất nước), có khả năng vì lý do pháp lý, ví dụ như NHS hồ sơ.
  • Bạn muốn giữ các đơn vị của bạn xử lý đóng và có toàn quyền kiểm soát phần cứng
  • Bạn không có quỹ dự án để chạy các trường hợp đám mây
  • Văn phòng của bạn không có một kết nối Internet và do đó không phải của nó có thể sử dụng một nguồn tài nguyên điện toán đám mây
  • Bạn không thích mưa, những đám mây cho mưa, do đó bạn giữ tốt ngay

Tôi chắc rằng danh sách có thể tiếp tục, nhưng tôi nghĩ rằng đó là đủ cho bây giờ.

Ưu điểm của một Grid Computing Office

Vâng, cho phép làm một số toán học (và trong phong cách vật lý thực sự cho phép làm cho một số giả định sâu rộng). Hãy tưởng tượng bạn có xử lý máy chủ lớn lực lưỡng chạy 100 việc làm mỗi ngày. Trong văn phòng của bạn, bạn có 50 máy là 16 giờ một ngày nhàn rỗi, các máy này là 10% như mạnh mẽ như cắt đứt xử lý lực lưỡng của bạn. (Tất cả các kết quả ở đây được làm tròn để đánh giá thấp gia tăng hiệu suất).

Vì vậy, 1 máy * 10% công suất * 2/3 thời gian = 0,067 tức là 1 máy tính để bàn chế biến trong thời gian nhàn rỗi có thể xử lý 6 công ăn việc làm đầy đủ mỗi ngày.

Nếu bây giờ bạn mở rộng này lên phải mất 15 máy tính để bàn nhàn rỗi để xử lý công việc như nhiều người mỗi ngày xử lý máy chủ chính của bạn.

Vì vậy, trong văn phòng của chúng tôi giả vờ của 50 máy, chúng tôi có thể làm tăng sức mạnh xử lý của chúng tôi từ 1 máy chủ lên đến 4 máy chủ xử lý đầy đủ, hoặc chúng tôi có thể được chế biến 400 việc làm mỗi ngày thay vì 100.

Thông báo, không có đầu tư phần cứng mới, công ty của bạn vừa tăng công suất chế biến hàng loạt của nó 4 lần! Có khả năng bạn sẽ tăng sử dụng năng lượng của bạn nhưng hầu hết các môi trường văn phòng tôi đã được cho các máy còn lại trên qua đêm nào, vì vậy bạn có thể thấy điều này như một sáng kiến ​​màu xanh lá cây.

Lợi thế khác cũng có nghĩa rằng đầu tư mới hoặc cập nhật các máy chủ xử lý có thể được trì hoãn nếu máy văn phòng của bạn là đủ và khi bạn cải thiện sức mạnh của máy văn phòng của bạn lưới văn phòng của bạn trở nên mạnh mẽ hơn, tự động.

Công nghệ

Những gì bạn cần? (Hay đúng hơn tôi đã sử dụng những gì):

  • Máy văn phòng nhàn rỗi (trong trường hợp của tôi, một phụ tùng máy tính xách tay Windows XP)
  • VirtualBox (hoặc khách hàng phần mềm ảo hóa khác)
  • Một máy ảo với PHP, mySQL running chạy cắt giảm hệ điều hành, tôi kêu gọi các máy chủ của tôi khập khiễng :)
  • Việc để chạy
  • Công việc máy chủ (có thể là một máy ảo một nơi nào đó)

Điển hình Việc làm

Các loại công việc mà hệ thống này được thiết kế để chạy như sau:

  • Hệ thống nhận được một danh sách các dữ liệu khi mà chúng ta cần để phù hợp và trả lại kết quả
  • Kết hợp liên quan đến việc kiểm tra / tìm kiếm dữ liệu nguồn một số (khá tĩnh)
  • Kết quả từ các nguồn dữ liệu có thể yêu cầu xác nhận thêm, sáp nhập, kiểm tra các nguồn dữ liệu bổ sung để đáp ứng với kết quả
  • Dữ liệu được trả về với các bản ghi phù hợp, đầy đủ xác nhận và xử lý
  • Mỗi bản ghi trong một công việc độc lập với phần còn lại

Vì vậy, về cơ bản chúng tôi đang tìm kiếm cái chạy các công việc có yêu cầu một hỗn hợp của cơ sở dữ liệu tra cứu và một số crunching số, một kịch bản khá điển hình trong một môi trường kinh doanh.

Giải pháp mạng lưới không chỉ thuận lợi cho chế biến công việc của loại này. Về cơ bản, bất kỳ quá trình có thể được chia thành các đơn vị độc lập có thể được chạy song song. Xem wikipedia cho các ví dụ và biết thêm thông tin: Điện toán lưới , nhưng một vài ví dụ nổi tiếng là Seti @ HomeBIONC . Có khuôn khổ để chạy các lưới điện toán, và đây cũng có giá trị xem xét.

Những gì chúng ta sẽ đạt được?

Đến cuối những bài viết này, tôi hy vọng rằng việc triển khai một mạng lưới văn phòng không cần phải là cực kỳ đắt tiền hoặc tốn thời gian. Tôi sẽ thảo luận:

  • Thiết lập hệ thống kiểm soát công việc, công việc cấu hình
  • Tạo một máy xử lý thích hợp ảo
  • Làm thế nào để thiết lập các hệ thống trên một máy cửa sổ
  • Đảm bảo bạn đang sử dụng mã mới nhất và dữ liệu
  • Triển khai và điểm chuẩn
  • Nhìn về phía trước

Tôi sẽ xây dựng (ok tôi được xây dựng, sau đó viết này) là một ứng dụng ví dụ để kiểm tra các khái niệm trên một máy địa phương sử dụng Windows XP và GridMachine 'máy ảo của tôi. Công việc máy chủ kiểm soát của tôi sẽ là máy chính của tôi mà chạy Fedora 11 .

Này không có nghĩa là để chứng minh một hệ thống hoàn toàn làm việc mạnh mẽ, có nghĩa là một cuộc biểu tình và thảo luận cho thấy rằng những điều này có thể đạt được trong một không gian ngắn hợp lý thời gian và chi phí ít. Xin vui lòng gửi cho tôi bất kỳ ý kiến, chỉnh sửa, hoặc cải tiến và tôi sẽ làm hết sức mình để giữ cho bài viết này cập nhật cho phù hợp.

Tiếp theo thời gian

Trong phần 2 tôi sẽ bắt đầu bằng cách nhìn vào hệ thống điều khiển công việc, và nhìn vào công việc nên được cấu hình để đạt được số tiền lớn nhất của chế biến trong khi đảm bảo rằng mỗi công việc được xử lý mà không thất bại.

Văn phòng lưới máy tính sử dụng môi trường ảo - Phần 5

, thứ Sáu ngày 04 tháng 12 năm 2009 11:03

Giới thiệu

Tôi làm việc trong một công ty mà chúng tôi chạy nhiều công việc hàng loạt chế biến hàng triệu bản ghi dữ liệu mỗi ngày và tôi đã suy nghĩ gần đây về tất cả các máy ngồi xung quanh mỗi ngày và không làm gì trong vài giờ. Nó sẽ không tốt nếu chúng ta có thể sử dụng những máy móc để tăng cường sức mạnh xử lý của hệ thống của chúng tôi? Trong tập hợp các bài viết này, tôi sẽ xem xét các lợi ích tiềm năng của việc sử dụng một văn phòng lưới điện bằng cách sử dụng môi trường ảo hóa.

Trong phần 4, chúng tôi đã sử dụng các công cụ để đảm bảo rằng chúng tôi đang chạy phiên bản mới nhất của các nguồn mã và dữ liệu để kết quả thu được là luôn luôn up-to-ngày với các thông tin kinh doanh mới nhất và logic.

Trước khi triển khai

Trước khi triển khai hệ thống mạng lưới của bạn nếu có một điều bạn làm và một điều một mình, nó là điểm chuẩn hệ thống hiện tại của bạn! Không có vấn đề gì bạn nói với đồng nghiệp về bao nhiêu thêm công việc hệ thống của bạn sẽ làm gì trừ khi bạn có con số để sao lưu này lên bảo lãnh của bạn là không có gì. Vì vậy,

  • có bao nhiêu hồ sơ bạn có thể xử lý hiện tại? Mỗi ngày? Mỗi giờ?
  • Làm thế nào lâu nó thường xoay quanh một công việc?
  • Nhiều hơn năng lực bạn có?

Ngoài ra còn có thêm câu hỏi:

  • Nếu máy chủ xử lý của bạn (hoặc một trong các máy chủ xử lý của bạn) đi xuống như thế nào điều này sẽ ảnh hưởng đến khả năng của bạn, bạn sẽ được làm tê liệt?
  • Lợi thế gì bạn hy vọng / mong đợi để có được từ một hệ thống lưới điện?
  • Máy văn phòng của bạn có khả năng chạy các công việc?
  • Được của bạn (hoặc bạn công việc có thể được chuyển đổi) để wrok trong phong cách của chạy?

Điểm quan trọng cuối cùng là mất thời gian của bạn trên bất kỳ sự thay đổi lớn như thế này. Cập nhật mã xử lý của bạn để làm việc bằng cách sử dụng phương pháp mới, điểm chuẩn một lần nữa. Có thể thiết lập máy chủ xử lý của bạn để chạy một máy ảo, sau khi tất cả các máy chủ xử lý của bạn sẽ chỉ là một công nhân (chỉ là một rất mạnh tương đối). Cho phép các quá trình mới để giải quyết.

Triển khai

Đề nghị của tôi sẽ được bật vào ngày cuối tuần một văn phòng thực hiện tất cả các cài đặt và thiết lập. Làm điều này trước khi một kỳ nghỉ hai tuần và để lại nên nghèo khác chap để đối phó với những hậu quả có thể không ...

Triển khai cho một hệ thống như thế này cần được làm chậm. Mặc dù nó là tương đối đơn giản để thiết lập hệ thống này sẽ ảnh hưởng đến toàn bộ cơ sở hạ tầng văn phòng của bạn (tốt kỹ thuật số). Thứ nhất, tung ra một vài máy tại một thời điểm, lưu lượng truy cập mạng lưới giám sát, làm thế nào các máy chủ công nhân thực hiện trên cơ sở ngày-to-ngày. Bạn có thể cần phải thay đổi cấu hình công việc của bạn đáp ứng những phát hiện của bạn.

Một khi hệ thống đã giải quyết với một vài máy (cho phép nói rằng 10% của tất cả các máy văn phòng, tức là 5) giữ cho mạng lưới giám sát lưu lượng truy cập và máy chủ performance. điểm chuẩn một lần nữa, bây giờ bạn nên được xử lý công việc nhiều hơn 33% so với các tiêu chuẩn đầu tiên của bạn. Kiểm tra xem đây là như vậy, hoặc là bạn sẽ ít nhất là trong sân chơi bóng chày này. Nếu không, điều tra những gì đang xảy ra trước khi chuyển. Lặp lại chu kỳ này cho đến khi bạn hạnh phúc có tất cả các máy văn phòng mà không giết chết hiệu suất máy tính cá nhân hoặc nghiền mạng của bạn bị treo.

Tại tất cả các lần giữ điểm chuẩn, ngay cả sau khi tất cả các triển khai được thực hiện. Kiểm tra xem làm thế nào cập nhật mã mới ảnh hưởng đến tốc độ hệ thống của bạn, hãy kiểm tra tất cả các công nhân được báo cáo và xử lý công việc. Chậm (rất chậm) tăng cấu hình công việc của bạn để có được tốt nhất từ ​​công nhân và mạng lưới của bạn.

Dừng lại!

Điều gì sẽ xảy ra nếu bạn muốn ngăn chặn công nhân của bạn chạy ở một thời gian? Họ là tất cả ra khỏi đó, tái sinh, và cố gắng hết sức mình để xử lý dữ liệu như côn trùng đói. Câu trả lời có vẻ hiển nhiên, nhưng giá trị của nó chỉ thêm trong trường hợp bị bỏ qua của nó. Đơn giản chỉ cần chỉnh sửa kịch bản xử lý của bạn với một lối ra (0) hoặc chết () hoặc một số báo cáo khác để giết chết công việc xử lý của bạn. Một lý do quan trọng lý do tại sao chúng tôi luôn luôn cố gắng cập nhật kịch bản xử lý mới nhất trước khi chạy bất kỳ!

Trình diễn hệ thống

Để viết này tập hợp các bài báo ngắn, tôi tạo ra một mạng lưới rất nhỏ để chứng minh các công nghệ và phương pháp. Tôi đọc rất nhiều bài báo, hướng dẫn, và sử dụng các công cụ khác nhau để thiết lập và theo dõi những gì đang diễn ra. Không có nghĩa là tôi đi ra ngoài và bão hòa một văn phòng hoàn toàn với giao thông và cũng không có tôi có quyền truy cập vào một PC thông thường nhân viên để xem làm thế nào hiệu suất máy chủ đã bị ảnh hưởng.

Hệ thống trình diễn của tôi là thực sự rất khiêm tốn. Tôi sử dụng máy tính để bàn thường xuyên của tôi như là một máy chủ điều khiển công việc. Trên này, tôi đã cài đặt máy chủ MySQL cài đặt thiết lập là một bậc thầy trong nhân rộng, PHP , Â và SVN liên kết thông qua apache (để truy cập thông qua máy ảo công nhân).

Sau đó tôi tạo một máy công nhân CentOS trên VirtualBox trên một máy tính xách tay 6 năm tuổi XP cửa sổ. Tôi thiết lập dự kiến ​​nhiệm vụ theo quy định sau khi sao chép máy ảo vào máy và để cho nó đi.

Các máy ảo được thiết lập với PHP, lật đổ, và mySQL. Tôi đã kiểm tra một chi nhánh có tên là 'công nhân' từ kho lưu trữ máy chủ kiểm soát công việc của tôi và chắc chắn rằng nó có thể được cập nhật bằng cách sử dụng 'svn các bản cập nhật'. Tiếp theo, tôi thiết lập mySQL như một nô lệ và kiểm tra dữ liệu đã được sao chép từ mySQL trên máy chủ kiểm soát công việc xuống máy ảo công nhân. Sau khi tất cả những điều này, tôi thiết lập các kịch bản bash và công việc cron.

Kịch bản xử lý của tôi về cơ bản đã đi dọc theo dòng này (rất đơn giản công cụ):

  • Đọc trong lĩnh vực tên
  • Tính số lượng tên tương tự trong một bảng từ các nguồn dữ liệu được tổ chức trên máy ảo
  • Tính số lượng các tên như tên bởi không gian ở trên, nhưng chia (tức là tên đầu tiên, giữa, họ)
  • Lặp đi lặp lại quá trình này 1.000 lần

Mỗi công việc mất khoảng 20 phút để chạy. Tại một điểm tôi mở ra nhiều bản sao của máy ảo công nhân trên máy tính xách tay các cửa sổ và theo dõi các công việc được kiểm tra bằng cách mỗi địa chỉ IP công nhân. Tại thời điểm này, tôi cũng xác nhận rằng bản sao tự động khởi động lại.

Để các máy tính xách tay nhàn rỗi kết quả trong một công nhân bắt đầu xử lý các việc làm từ các máy chủ điều khiển công việc. Khi trở lại sử dụng máy tính xách tay có một sự chậm trễ khoảng 30-60 giây, đây là một số tiền hợp lý của thời gian và nhân viên sẽ cần phải được thực hiện nhận thức được rằng máy tính của họ có thể tạm dừng một thời gian ngắn khi quay trở lại máy. Máy mới hơn có thể không có một tạm dừng này dài. Lợi ích của số lượng chế biến thực hiện bởi các máy này trong thời gian nhàn rỗi sẽ nhiều hơn nhân viên phải chờ đợi một thời gian ngắn (1 phút) đến máy của họ một buổi sáng (tôi thường xuyên chờ đợi lâu hơn cho Windows Defender cập nhật diễn ra) cung cấp đã được thực hiện nhận thức được điều này (thời gian hữu ích để lấy một cà phê buổi sáng).

Nói chung tôi cảm thấy tự tin rằng mình đã chứng minh các công nghệ có thể được sử dụng để tạo ra một hệ thống như vậy. Tôi đã chỉ ra rằng một hệ thống như vậy không làm việc trên một quy mô nhỏ (rất) và với một số thử nghiệm có thể được thu nhỏ sử dụng các nguồn tài nguyên của máy của một văn phòng. Nếu tôi không nhận được điểm để làm điều này tôi sẽ rất quan tâm để biết / thấy khi một người nào khác không.

Kết luận / Đánh giá

Rõ ràng bước tiếp theo sẽ là thực sự có được một ví dụ thế giới thực và bắt đầu triển khai một hệ thống như thế này trong một môi trường văn phòng và xem những gì sẽ xảy ra. Yêu cầu một doanh nghiệp cam kết này mà không cần một công ty đường mòn rực để chứng minh công nghệ và hiệu quả có thể là một chút khó khăn. Grid / phân phối máy tính là rất phổ biến là một số vòng tròn và có một số ứng dụng lớn (BIONC, SETI @ Home, Folding @ Home, vv). Tôi không, tuy nhiên, tìm một quy mô nhỏ hơn và hệ thống đơn giản như thế này trong các tìm kiếm có thể được triển khai trong một môi trường văn phòng.

Tôi tạo ra một hệ thống về cơ bản miễn phí bằng cách sử dụng phần mềm mã nguồn chủ yếu là mở và các công cụ có sẵn trong hầu hết các văn phòng. Các công nghệ về cơ bản đã được chứng minh và cho thấy để thực hiện và làm việc như mong đợi. Hy vọng rằng tôi có thấy rằng công việc không nhiều và với một thiết lập rất đơn giản, bạn có thể triển khai một hệ thống văn phòng điện toán lưới là mạnh mẽ, giá rẻ, Â và khả năng mở rộng tất cả cùng một lúc.

Khi một hệ thống và chạy trên đó gần như là không có kết thúc với số tiền tùy biến và cải tiến bạn có thể thực hiện. Đối với ví dụ số liệu thống kê điểm chuẩn / có thể dễ dàng được thêm vào hiển thị giá trị của hệ thống như vậy mỗi ngày. Máy mới có thể được thêm vào một cách nhanh chóng và dễ dàng như khi họ đến với các nâng cấp phần cứng hiện củng cố sức mạnh xử lý của bạn.

Tôi hy vọng bạn đã rất thích đọc loạt bài này và cho bạn thực phẩm cho các tư tưởng về một hệ thống mạng lưới văn phòng. Các giải pháp trình bày ở đây sẽ không nhất thiết phải làm việc trong mọi tình huống nhưng phải được thích nghi để cho phép bạn để có được xử lý dữ liệu của bạn thực hiện bằng cách sử dụng giải pháp của riêng bạn.

Xin vui lòng gửi cho tôi bất kỳ ý kiến, chỉnh sửa, hoặc cải tiến và tôi sẽ làm hết sức mình để giữ cho bài viết này cập nhật cho phù hợp.













Panorama Theme theo Themocracy

4 khách truy cập trực tuyến tại
3 khách, 1 bots, 0 thành viên
Max khách truy cập hôm nay: 16 lúc 04:32 pm UTC
Tháng này: 16 tại 2012/01/05 01:02 pm UTC
Năm nay: 69 27-02-2012 09:56 am UTC
Tất cả thời gian: 130 28-03-2011 10:40 pm UTC