Computer >> Máy Tính >  >> Lập trình >> Redis

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis

Tốc độ và hiệu quả là những điểm nổi bật của sự xuất sắc trong môi trường kinh doanh có nhịp độ nhanh ngày nay.

Các tổ chức bị vướng vào các quy trình thủ công, cứng nhắc chịu sức nặng của một kiến ​​trúc cồng kềnh và sẽ mãi mãi lép vế khi các cơ hội kinh doanh trôi qua.

Nhưng những người tự động hóa quy trình của họ sẽ làm việc hiệu quả hơn, nhanh nhẹn hơn, và nhiều khả năng hơn để trải nghiệm sự phát triển. Và đó là lý do tại sao các tổ chức cần một hệ thống quản lý quy tắc kinh doanh phân tán (DBRMS).

Tìm cách tạo ra tác động đến cộng đồng doanh nghiệp, Vishrut Kohli đã xây dựng DBRMS, Bonsai của riêng mình. Bằng cách sử dụng Redis, Bonsai đảm bảo cho người dùng một ứng dụng có thể tự động hóa các quy trình trong thời gian thực, tối đa hóa mức năng suất bằng cách giảm khả năng xảy ra độ trễ.

Hãy xem cách ứng dụng này được tạo ra. Nhưng trước khi đi xa hơn, chúng tôi muốn chỉ ra rằng chúng tôi cũng có một loạt các ứng dụng sáng tạo thú vị để bạn có thể khám phá trên Redis Launchpad.

Vì vậy, nếu bạn thích bài đăng này, hãy nhớ duyệt sau!

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis

  1. Bạn sẽ xây dựng cái gì?
  2. Bạn sẽ cần gì?
  3. Kiến trúc
  4. Bắt đầu
  5. Thiết lập chương trình phụ trợ
  6. Thiết lập giao diện người dùng
  7. Cách thức hoạt động
  8. Cách thực hiện các tính năng khác nhau

1. Bạn sẽ xây dựng cái gì?

Bạn sẽ xây dựng một nền tảng quản lý quy tắc kinh doanh phân tán sẽ giúp các doanh nghiệp tạo, quản lý và triển khai các quy tắc kinh doanh có thể mở rộng trên toàn doanh nghiệp. Nhiều nhiệm vụ kinh doanh có thể được tự động hóa và giải phóng các nguồn lực bổ sung có thể được đầu tư vào nơi khác trong doanh nghiệp.

Ứng dụng này sẽ cho phép các tổ chức chỉ định, triển khai và quản lý các quy tắc quyết định kinh doanh và logic quyết định để các ứng dụng có thể đưa ra các quyết định thông minh một cách nhanh chóng và không có sự can thiệp của con người.

Dưới đây, chúng tôi sẽ nêu bật những thành phần bạn sẽ cần để đưa ứng dụng này vào cuộc sống cũng như hướng dẫn bạn qua từng bước của quy trình triển khai.

Sẵn sàng để bắt đầu?

Được rồi, hãy đi thẳng vào vấn đề.

2. Bạn sẽ cần gì?

  • Python :được sử dụng như một ngôn ngữ lập trình mạnh mẽ với mục đích cao
  • Redis :kho lưu trữ dữ liệu trong bộ nhớ để nhập, xử lý và phân tích dữ liệu thời gian thực với độ trễ dưới mili giây.
  • RedisJSON :được sử dụng như một mô-đun cung cấp hỗ trợ JSON trong Redis
  • RedisTimeSeries :được sử dụng như một mô-đun bổ sung cấu trúc dữ liệu chuỗi thời gian cho Redis

3. Kiến trúc

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis 4. Bắt đầu

Đảm bảo rằng bạn đã thiết lập và chạy cơ sở dữ liệu Redis Stack:

5. Thiết lập giao diện người dùng

Bắt đầu với Tạo ứng dụng React

Dự án này đã được khởi động bằng Tạo ứng dụng React.

Bước 1:Sao chép kho lưu trữ giao diện người dùng

Bước 2:Cài đặt phần phụ thuộc

yarn install

Bước 3:Sử dụng các tập lệnh có sẵn

Trong thư mục dự án, bạn có thể chạy các tập lệnh sau:

yarn start

Chạy ứng dụng ở chế độ phát triển.

Mở https:// localhost:3000 để xem trong trình duyệt.

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis Trang sẽ tải lại nếu bạn thực hiện chỉnh sửa.

Bạn cũng sẽ thấy bất kỳ lỗi xơ vải nào trong bảng điều khiển.

yarn test

Khởi chạy người chạy thử nghiệm ở chế độ đồng hồ tương tác.

Xem phần về chạy thử nghiệm để biết thêm thông tin.

yarn build

Tạo ứng dụng để sản xuất vào thư mục xây dựng.

Nó kết hợp chính xác React trong chế độ sản xuất và tối ưu hóa bản dựng để có hiệu suất tốt nhất.

Bản dựng được rút gọn và tên tệp bao gồm các hàm băm.

Ứng dụng của bạn bây giờ sẽ sẵn sàng được triển khai.

Xem phần về triển khai để biết thêm thông tin.

yarn eject

Lưu ý: đây là một hoạt động một chiều. Sau khi đẩy ra, bạn không thể quay lại!

Nếu không hài lòng với các lựa chọn cấu hình và công cụ xây dựng, bạn có thể loại bỏ bất kỳ lúc nào. Lệnh này sẽ xóa phần phụ thuộc bản dựng duy nhất khỏi dự án của bạn.

Thay vào đó, nó sẽ sao chép tất cả các tệp cấu hình và các phụ thuộc bắc cầu (webpack, Babel, ESLint, v.v.) ngay vào dự án của bạn để bạn có toàn quyền kiểm soát chúng. Tất cả các lệnh ngoại trừ eject sẽ vẫn hoạt động, nhưng chúng sẽ trỏ đến các tập lệnh đã sao chép để bạn có thể tinh chỉnh chúng. Tại thời điểm này, bạn đang ở một mình.

Bạn không cần phải sử dụng eject. Bộ tính năng được sắp xếp phù hợp với các triển khai vừa và nhỏ và bạn không bắt buộc phải sử dụng tính năng này. Tuy nhiên, chúng tôi hiểu rằng công cụ này sẽ không hữu ích nếu bạn không thể tùy chỉnh nó khi bạn đã sẵn sàng.

Bước 4. Sao chép Công cụ Quy tắc Bonsai

git clone:​​https://github.com/redis-developer/bonsai

Bước 5. Cài đặt các phụ thuộc Python

Bước 6. Thực thi tập lệnh

6. Cách hoạt động

Từ khóa

  • Không gian tên
  • Quy tắc
  • thực thể

Không gian tên

Sự phân tách hợp lý nhất của các quy tắc là dựa trên không gian tên. Không gian tên là một tập hợp các quy tắc được đánh giá trên một tập dữ liệu. Ví dụ:ở phần sau của bài đăng này, bạn sẽ xây dựng một không gian tên cho hệ thống quản lý khách hàng thân thiết và tất cả các quy tắc liên quan đến điều đó sẽ được lưu trong không gian tên đó.

  • Cấu trúc để lưu dữ liệu của chúng tôi là

Không gian tên ở đây là:

tax_system.

Lệnh được sử dụng để tạo không gian tên là:

Thực thể

Một thực thể đề cập đến đầu vào của một không gian tên và đến lượt nó sẽ cung cấp đầu ra sau khi đánh giá các quy tắc có trong không gian tên đó.

Quy tắc

Từ khóa phụ
  • Dự đoán: Điều này có nghĩa là các điều kiện đầu vào cho các quy tắc của bạn.
  • Kết quả: Điều này có nghĩa là các điều kiện đầu ra cho các quy tắc của bạn.
  • Nhà khai thác: Chúng tôi có 7 nhà khai thác:
    - eq có nghĩa là =
    - phạm vi có nghĩa là giá trị phải nằm giữa phạm vi đã cho (không bao gồm giới hạn trên)
    - chứa có nghĩa là chuỗi phải chứa giá trị đầu vào đã cho.
    - gt có nghĩa là lớn hơn hoặc>
    - gte có nghĩa là lớn hơn hoặc bằng> =
    - lt có nghĩa là nhỏ hơn <
    - lte có nghĩa là nhỏ hơn hoặc bằng <=

Ví dụ, chúng tôi muốn tạo ra một quy tắc xác định giá trị thuế của một công dân sống ở tỉnh Ontario và ở thành phố Toronto. Ngoài ra, người này đóng thuế thu nhập 35%. Vì vậy, chúng ta có hai biến - tỉnh và thành phố nhưng một biến số thuế đầu ra.

Vì vậy, trong trường hợp này, một vị từ (đầu vào) ví dụ của một tỉnh là Ontario có thể là một vị từ bao gồm 4 phần:

Mỗi quy tắc là một lệnh quyết định đâu là đầu ra cho bất kỳ đầu vào (thực thể) cụ thể nào. Mọi quy tắc sẽ được lưu vào không gian tên thông qua định dạng sau:

Ontario and the city is Toronto the tax rate will be 35. 

Đây là đối tượng quy tắc:

Không gian tên ở đây là:

loyalty_system
và rule_id là:
123456.

Lệnh được sử dụng để cập nhật quy tắc trong không gian tên là:

Lệnh được sử dụng để nhận tất cả các quy tắc trong không gian tên là:

Lệnh được sử dụng để nhận một quy tắc trong không gian tên bởi rule_id là:

7. Cách thực hiện các tính năng khác nhau

Cách tạo quy tắc

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis Trên màn hình chính, hãy nhấp vào "Tạo".

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis Tiếp theo, điền vào các trường khác nhau để hoàn tất việc tạo quy tắc.

Hình ảnh hóa quy tắc

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis Sau khi tạo các quy tắc, bạn sẽ có thể dễ dàng hình dung chúng dưới dạng lưu đồ.

Đánh giá quy tắc

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis "

Luồng đánh giá chứa tất cả các thuộc tính đã được sử dụng để tạo các quy tắc. Ứng dụng có một mã sử dụng các thuật toán đối sánh mẫu để xem quy tắc nào phù hợp nhất với thực thể cũng như đưa ra thứ tự các quy tắc được thực thi.

Phân tích quy tắc

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis RedisTimeSeries cho phép bạn trực quan hóa tất cả các chỉ số và giúp bạn đưa ra quyết định theo hướng dữ liệu dựa trên hiệu suất của tất cả các quy tắc trong không gian tên của chúng.

Lệnh được sử dụng để hiển thị dữ liệu chuỗi thời gian:

TS.ADD ruleId * 1

Kết luận:Sử dụng dữ liệu thời gian thực để tạo nền tảng DBRMS giúp tăng hiệu quả

Nền tảng DBRMS có thể giải phóng nhân viên và doanh nghiệp khỏi việc phải thực hiện các nhiệm vụ tốn thời gian, tẻ nhạt và cần thiết cho tổ chức. Tự động hóa các nhiệm vụ này thông qua nền tảng DBRMS hoàn toàn có thể hồi sinh tổ chức bằng cách hướng sự chú ý của từng nhân viên vào các nhiệm vụ ít tốn kém hơn.

Tuy nhiên, để hệ thống DBRMS hoạt động hiệu quả, nó cần được cung cấp bởi cơ sở dữ liệu thời gian thực để luôn đảm bảo mức hiệu suất ưu việt. Chỉ một sự chậm trễ có thể làm trì trệ hiệu quả của quy trình, do đó tác động tiêu cực đến năng suất.

Nhờ Redis, tất cả các quy tắc kinh doanh có thể được quản lý, cập nhật và duy trì trong thời gian thực. Điều này cho phép bạn có được thông tin chi tiết theo thời gian thực về hiệu suất và đưa ra quyết định tức thì dựa trên dữ liệu sẽ giúp bạn tận dụng các cơ hội kinh doanh.

Nếu bạn muốn khám phá thêm về cách Bonsai được tạo ra, hãy nhớ xem video YouTube của Vishrut tại đây. Nhưng đó không phải là tất cả… chúng tôi cũng có một loạt các ứng dụng sáng tạo để bạn có thể khám phá trên Redis Launchpad.

Các lập trình viên từ khắp nơi trên thế giới đang khai thác sự kỳ diệu của Redis để tạo ra tác động đến cuộc sống hàng ngày.

Tiếp tục đi. Được truyên cảm Hưng. Và vui vẻ với Redis.

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis Ai đã tạo ra ứng dụng?

Vishrut Kohli

Cách xây dựng hệ thống quản lý quy tắc kinh doanh phân tán bằng Redis

Vishrut là một nhà phát triển full-stack và người đam mê dữ liệu, người thành thạo về Python, MATLAB / octave và các thuật toán máy học. Nếu bạn muốn cập nhật tất cả các dự án của anh ấy thì hãy nhớ theo dõi anh ấy trên GitHub.