2

Bài đăng này mở một loạt blog về  Apache Ignite.NET , nền tảng phân phối trong bộ nhớ.

Chúng tôi sẽ bắt đầu từ những điều cơ bản và làm việc theo cách của chúng tôi để thực hiện một trang web mạng xã hội đầy đủ chức năng đơn giản theo cách phân tán và tự động mở rộng.

Apache là gì?

Ignite  là một khung để xây dựng các ứng dụng phân tán chạy trên nhiều máy, chia sẻ dữ liệu và sức mạnh tính toán. Các ứng dụng phân tán được xây dựng đúng có thể được thu nhỏ dễ dàng.

Bước đầu tiên của chúng tôi là bắt đầu một cụm cục bộ và xem cách các nút Ignite kết nối với nhau.

Thuật ngữ

  • Ignite Node: Một thể hiện được tạo bởi một trong các  Ignition.Start* phương thức. Có thể có nhiều nút trên mỗi máy hoặc thậm chí trên mỗi quy trình.
  • Cluster, Topology: Một tập hợp các nút liên kết với nhau. Có thể có nhiều cụm riêng biệt trên cùng một máy hoặc thậm chí trong cùng một quy trình.
  • Máy chủ: Bỏ qua Node chạy ở chế độ máy chủ (chế độ mặc định).
  • Máy khách: Bỏ qua Node đang chạy trong chế độ máy khách ( IgniteConfiguration.ClientMode = true).

Điều kiện tiên quyết

Chúng tôi sẽ cần  Visual Studio  (2010+ sẽ làm) và  Java .

Vâng, Java. Ignite.NET được xây dựng trên đỉnh Ignite, cần JRE để chạy. Đừng lo lắng, chúng tôi sẽ không đối phó với nó theo bất kỳ cách nào trực tiếp. Nó chỉ cần thiết trong thời gian chạy.

Ứng dụng Ignite.NET đầu tiên

Hãy đi đến mã hóa. Mở Visual Studio và tạo Ứng dụng Console mới (.NET 4+). Chúng tôi sẽ sử dụng bàn điều khiển rất nhiều trong các bước đầu tiên để quan sát tốt hơn cách thức phân cụm hoạt động. Đảm bảo tắt tùy chọn Nhóm Ưu tiên 32 bit trong cài đặt dự án để ứng dụng của bạn chạy ở chế độ x64 trên HĐH x64 và hoạt động với JRE đã cài đặt:

Tiếp theo, cài đặt gói Ignite NuGet. Trong Bảng điều khiển quản lý gói:


Install-Package Apache.Ignite


Nhập  Apache.Ignite.Core không gian tên, thêm  Ignition.Start() vào phương thức Chính và ứng dụng phân tán của chúng tôi đã hoàn tất!


using System;
using Apache.Ignite.Core;

class Program
{
    static void Main(string[] args)
    {
        Ignition.Start();
        Console.ReadKey(); // keep the node running
    }
}


Bắt đầu chương trình và quan sát đầu ra giao diện điều khiển. Đặc biệt, chúng tôi quan tâm đến dòng sau:


[17:35:33] Topology snapshot [ver=1, servers=1, clients=0, CPUs=8, heap=1.8GB]


Chúng ta có thể thấy rằng có một nút máy chủ trong cụm.

Không đóng ứng dụng đang chạy và khởi động lại một lần nữa (sử dụng Ctrl-F5 trong Visual Studio để chạy mà không cần trình gỡ lỗi). Bạn sẽ thấy hai ứng dụng kết nối với nhau như thế nào:


[17:41:35] Topology snapshot [ver=2, servers=2, clients=0, CPUs=8, heap=3.5GB]

Đóng một trong các nút. Trong giây lát, nút còn lại sẽ phát hiện ra rằng một nút khác đã bị ngắt kết nối và báo cáo một thay đổi hàng đầu khác:


[17:44:12] Topology snapshot [ver=3, servers=1, clients=0, CPUs=8, heap=1.8GB]


Bạn có thể bắt đầu nhiều nút như bạn muốn, cục bộ hoặc trên nhiều máy trong cùng một mạng (mặc dù vậy, đừng quên tường lửa).

Lần tới: Làm việc với bộ nhớ cache phân tán.

|