Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis

ความเร็วและประสิทธิภาพเป็นจุดเด่นของความเป็นเลิศในสภาพแวดล้อมทางธุรกิจที่รวดเร็วในปัจจุบัน

องค์กรที่เข้าไปพัวพันกับกระบวนการแบบใช้คนและเข้มงวดนั้นต้องแบกรับน้ำหนักของสถาปัตยกรรมที่ยุ่งยากและจะถูกทิ้งให้อยู่อย่างราบเรียบตลอดไปเมื่อโอกาสทางธุรกิจผ่านพ้นไป

แต่ผู้ที่มีกระบวนการอัตโนมัติจะมีประสิทธิผลมากขึ้น คล่องตัวมากขึ้น และมีโอกาสมากขึ้น เพื่อสัมผัสกับการเติบโต และนั่นเป็นสาเหตุที่องค์กรต้องการระบบการจัดการกฎธุรกิจแบบกระจาย (DBRMS)

กำลังมองหาการสร้างผลกระทบต่อชุมชนธุรกิจ Visrut Kohli ได้สร้าง DBRMS ของตัวเองที่ชื่อ Bonsai ด้วยการใช้ Redis บอนไซรับประกันผู้ใช้ว่าแอปพลิเคชันที่สามารถทำให้กระบวนการเป็นอัตโนมัติในแบบเรียลไทม์ เพิ่มระดับการผลิตสูงสุดโดยลดโอกาสที่ความล่าช้าจะเกิดขึ้น

มาดูกันว่าแอปพลิเคชั่นนี้ถูกสร้างขึ้นมาอย่างไร แต่ก่อนที่เราจะไปต่อ เราอยากจะชี้ให้เห็นว่าเรายังมีแอพที่เป็นนวัตกรรมใหม่ๆ มากมายให้คุณได้ลองใช้บน Redis Launchpad

ดังนั้นหากคุณชอบโพสต์นี้ อย่าลืมเปิดดู!

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis

  1. คุณจะสร้างอะไร
  2. คุณต้องการอะไร
  3. สถาปัตยกรรม
  4. เริ่มต้นใช้งาน
  5. การตั้งค่าแบ็กเอนด์
  6. การตั้งค่าส่วนหน้า 
  7. วิธีการทำงาน
  8. วิธีใช้งานคุณลักษณะต่างๆ

1. คุณจะสร้างอะไร

คุณจะสร้างแพลตฟอร์มการจัดการกฎธุรกิจแบบกระจายที่จะช่วยให้ธุรกิจต่างๆ สร้าง จัดการ และใช้กฎเกณฑ์ทางธุรกิจที่ปรับขนาดได้ทั่วทั้งองค์กร งานทางธุรกิจหลายอย่างสามารถทำได้โดยอัตโนมัติและเพิ่มทรัพยากรเพิ่มเติมที่สามารถนำไปลงทุนในที่อื่นในธุรกิจได้

แอปพลิเคชันนี้จะช่วยให้องค์กรสามารถระบุ ปรับใช้ และจัดการกฎการตัดสินใจทางธุรกิจและตรรกะในการตัดสินใจ เพื่อให้แอปสามารถตัดสินใจได้อย่างชาญฉลาดอย่างต่อเนื่องด้วยความรวดเร็วและปราศจากการแทรกแซงของมนุษย์

ด้านล่างนี้ เราจะเน้นว่าองค์ประกอบใดบ้างที่คุณจำเป็นต้องใช้ในการทำให้แอปพลิเคชันนี้มีชีวิต รวมทั้งแนะนำคุณผ่านแต่ละขั้นตอนของกระบวนการติดตั้งใช้งาน

พร้อมที่จะเริ่มต้นหรือยัง

ตกลงขอตรงเข้าไป

2. คุณต้องการอะไร

  • หลาม :ใช้เป็นภาษาโปรแกรมที่มีประสิทธิภาพสูง
  • เรดิส :ที่เก็บข้อมูลในหน่วยความจำเพื่อนำเข้า ประมวลผล และวิเคราะห์ข้อมูลแบบเรียลไทม์ด้วยเวลาแฝงที่ต่ำกว่ามิลลิวินาที
  • RedisJSON :ใช้เป็นโมดูลที่ให้การสนับสนุน JSON ใน Redis
  • RedisTimeSeries :ใช้เป็นโมดูลที่เพิ่มโครงสร้างข้อมูลอนุกรมเวลาให้กับ Redis

3. สถาปัตยกรรม

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis 4. เริ่มต้น

ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานฐานข้อมูล Redis Stack:

5. การตั้งค่าส่วนหน้า

เริ่มต้นใช้งานสร้างแอปตอบโต้

โครงการนี้ถูกบูตด้วยแอป Create React

ขั้นตอนที่ 1:โคลนที่เก็บส่วนหน้า

ขั้นตอนที่ 2:ติดตั้งการพึ่งพา

yarn install

ขั้นตอนที่ 3:ใช้สคริปต์ที่มี

ในไดเรกทอรีโครงการ คุณสามารถเรียกใช้สคริปต์ต่อไปนี้:

yarn start

เรียกใช้แอปในโหมดการพัฒนา

เปิด https://localhost:3000 เพื่อดูในเบราว์เซอร์

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis หน้าจะโหลดซ้ำหากคุณทำการแก้ไข

คุณจะเห็นข้อผิดพลาดของผ้าสำลีในคอนโซลด้วย

yarn test

เปิดตัววิ่งทดสอบในโหมดนาฬิกาแบบโต้ตอบ

ดูข้อมูลเพิ่มเติมในส่วนเกี่ยวกับการทำการทดสอบ

yarn build

สร้างแอปสำหรับใช้งานจริงในโฟลเดอร์บิลด์

มันรวมกลุ่ม React อย่างถูกต้องในโหมดใช้งานจริงและปรับบิลด์ให้เหมาะสมเพื่อประสิทธิภาพที่ดีที่สุด

บิลด์ถูกย่อให้เล็กลงและชื่อไฟล์รวมแฮชด้วย

แอปของคุณจะพร้อมสำหรับการใช้งานแล้ว

ดูข้อมูลเพิ่มเติมในส่วนเกี่ยวกับการปรับใช้

yarn eject

หมายเหตุ: นี่เป็นการดำเนินการทางเดียว เมื่อคุณดีดออก คุณจะไม่สามารถย้อนกลับได้!

หากคุณไม่พอใจกับเครื่องมือสร้างและตัวเลือกการกำหนดค่า คุณสามารถนำออกได้ทุกเมื่อ คำสั่งนี้จะลบการพึ่งพาบิลด์เดี่ยวออกจากโปรเจ็กต์ของคุณ

แต่จะคัดลอกไฟล์การกำหนดค่าทั้งหมดและการพึ่งพาสกรรมกริยา (webpack, Babel, ESLint ฯลฯ) ลงในโครงการของคุณแทน เพื่อให้คุณสามารถควบคุมได้อย่างเต็มที่ คำสั่งทั้งหมดยกเว้นการดีดออกจะยังใช้งานได้ แต่จะชี้ไปที่สคริปต์ที่คัดลอกมาเพื่อให้คุณปรับแต่งได้ ณ จุดนี้ คุณเป็นตัวของตัวเอง

คุณไม่จำเป็นต้องใช้การดีดออก ชุดคุณลักษณะที่ดูแลจัดการนี้เหมาะสำหรับการปรับใช้ขนาดเล็กและขนาดกลาง และคุณไม่ควรรู้สึกว่าต้องใช้งานคุณลักษณะนี้ อย่างไรก็ตาม เราเข้าใจดีว่าเครื่องมือนี้จะไม่มีประโยชน์หากคุณไม่สามารถปรับแต่งได้เมื่อพร้อม

ขั้นตอนที่ 4 โคลนเครื่องมือกฎบอนไซ

โคลน git:​​https://github.com/redis-developer/bonsai

ขั้นตอนที่ 5 ติดตั้งการขึ้นต่อกันของ Python

ขั้นตอนที่ 6 เรียกใช้สคริปต์

6. วิธีการทำงาน

คำหลัก

  • เนมสเปซ
  • กฎ
  • นิติบุคคล

เนมสเปซ

การแยกกฎอย่างมีเหตุผลที่สุดอยู่บนพื้นฐานของเนมสเปซ เนมสเปซเป็นกฎชุดหนึ่งที่ต้องประเมินในชุดข้อมูล ตัวอย่างเช่น ในโพสต์นี้ คุณจะสร้างเนมสเปซสำหรับระบบการจัดการความภักดีและกฎทั้งหมดที่เกี่ยวข้องจะถูกบันทึกไว้ภายใต้เนมสเปซนั้น

  • โครงสร้างสำหรับการบันทึกข้อมูลของเราคือ

เนมสเปซคือ:

tax_system.

คำสั่งที่ใช้สร้างเนมสเปซคือ:

 

เอนทิตี

เอนทิตีหมายถึงอินพุตของเนมสเปซและจะให้ผลลัพธ์หลังจากประเมินกฎที่มีอยู่ในเนมสเปซนั้น

กฎ

คีย์เวิร์ดย่อย
  • ภาคแสดง: นี่หมายถึงเงื่อนไขการป้อนข้อมูลสำหรับกฎของคุณ
  • ผลลัพธ์: นี่หมายถึงเงื่อนไขผลลัพธ์สำหรับกฎของคุณ
  • ตัวดำเนินการ: เรามีโอเปอเรเตอร์ 7 ตัว:
    – eq ซึ่งหมายถึง =
    – ช่วงซึ่งหมายความว่าค่าควรอยู่ระหว่างช่วงที่กำหนด (ไม่รวมขีด จำกัด บน)
    – มีซึ่งหมายความว่าสตริงควรมีค่าอินพุตที่กำหนด
    – gt ซึ่งหมายถึงมากกว่าหรือ>
    – gte ซึ่งหมายถึงมากกว่าหรือเท่ากับ>=
    – lt ซึ่งหมายถึงน้อยกว่า <
    – lte ซึ่งหมายถึงน้อยกว่าหรือเท่ากับ <=

ตัวอย่างเช่น เราต้องการสร้างกฎที่กำหนดมูลค่าภาษีของพลเมืองที่อาศัยอยู่ในจังหวัดออนแทรีโอและในเมืองโตรอนโต นอกจากนี้บุคคลนี้จ่ายภาษีเงินได้ 35% ดังนั้นเราจึงมีสองตัวแปร – จังหวัดและเมือง แต่มีอัตราภาษีส่งออกหนึ่งรายการ

ดังนั้นในกรณีนี้ ตัวอย่างหนึ่งของภาคแสดง (อินพุต) ของจังหวัดคือออนแทรีโอสามารถเป็นภาคแสดงที่ประกอบด้วย 4 ส่วน:

กฎแต่ละข้อคือคำสั่งที่ตัดสินว่าอะไรควรเป็นเอาต์พุตของอินพุตเฉพาะ (เอนทิตี) ทุกกฎจะได้รับการบันทึกไว้ในเนมสเปซโดยใช้รูปแบบต่อไปนี้:

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

นี่คือออบเจ็กต์กฎ: 

เนมสเปซคือ:

loyalty_system
และ rule_id คือ:
123456.

คำสั่งที่ใช้ในการอัปเดตกฎในเนมสเปซคือ:

คำสั่งที่ใช้รับกฎทั้งหมดในเนมสเปซคือ:

คำสั่งที่ใช้เพื่อรับหนึ่งกฎในเนมสเปซโดย rule_id คือ:

7. วิธีใช้งานคุณลักษณะต่างๆ

วิธีสร้างกฎ

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis บนหน้าจอหลัก ให้คลิก 'สร้าง'

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis ถัดไป กรอกข้อมูลในฟิลด์ต่างๆ เพื่อสร้างกฎให้สมบูรณ์

การแสดงกฎ

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis hFPqiFkBy0k>hfpnJff6Op55RJ5wAWLI0z67XDePbY0mDhFP

หลังจากสร้างกฎแล้ว คุณจะสามารถเห็นภาพกฎเหล่านั้นได้อย่างง่ายดายในรูปแบบของแผนผังลำดับงาน

การประเมินกฎ

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis ขั้นตอนการประเมินประกอบด้วยแอตทริบิวต์ทั้งหมดที่ใช้เพื่อสร้างกฎ แอปพลิเคชันมีโค้ดที่ใช้อัลกอริธึมการจับคู่รูปแบบเพื่อดูว่ากฎข้อใดเหมาะกับเอนทิตีมากที่สุด รวมถึงลำดับที่กฎจะถูกดำเนินการ

การวิเคราะห์กฎ

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis RedisTimeSeries ช่วยให้คุณเห็นภาพเมตริกทั้งหมด และช่วยให้คุณตัดสินใจโดยใช้ข้อมูลโดยพิจารณาจากประสิทธิภาพของกฎทั้งหมดในเนมสเปซ

คำสั่งที่ใช้เพื่อแสดงข้อมูลอนุกรมเวลา:

TS.ADD ruleId * 1

บทสรุป:การใช้ข้อมูลแบบเรียลไทม์เพื่อสร้างแพลตฟอร์ม DBRMS ที่เพิ่มประสิทธิภาพ

แพลตฟอร์ม DBRMS สามารถปลดปล่อยพนักงานและธุรกิจจากการต้องทำงานที่ใช้เวลานานและน่าเบื่อซึ่งจำเป็นต่อองค์กร การทำงานเหล่านี้โดยอัตโนมัติผ่านแพลตฟอร์ม DBRMS สามารถฟื้นฟูองค์กรได้อย่างสมบูรณ์โดยการดึงความสนใจของพนักงานแต่ละคนไปสู่งานที่ไม่ธรรมดา

อย่างไรก็ตาม เพื่อให้ระบบ DBRMS มีประสิทธิภาพ จำเป็นต้องขับเคลื่อนโดยฐานข้อมูลแบบเรียลไทม์เพื่อรับประกันประสิทธิภาพในระดับยอดเยี่ยมอย่างสม่ำเสมอ ความล่าช้าเพียงอย่างเดียวอาจทำให้ประสิทธิภาพของกระบวนการหยุดนิ่ง ซึ่งส่งผลเสียต่อความสามารถในการผลิต

ด้วย Redis กฎทางธุรกิจทั้งหมดจึงสามารถจัดการ อัปเดต และบำรุงรักษาในแบบเรียลไทม์ได้ ข้อมูลนี้ช่วยให้คุณได้รับข้อมูลเชิงลึกแบบเรียลไทม์เกี่ยวกับประสิทธิภาพ และทำการตัดสินใจที่นำข้อมูลไปใช้ในทันที ซึ่งจะช่วยให้คุณใช้ประโยชน์จากโอกาสทางธุรกิจได้

หากคุณต้องการค้นพบเพิ่มเติมเกี่ยวกับวิธีการสร้างบอนไซ อย่าลืมดูวิดีโอ YouTube ของ Vishrut ที่นี่ แต่นั่นไม่ใช่ทั้งหมด... เรายังมีแอปพลิเคชันที่เป็นนวัตกรรมมากมายให้คุณลองใช้บน Redis Launchpad

โปรแกรมเมอร์จากทั่วทุกมุมโลกกำลังใช้ความมหัศจรรย์ของ Redis เพื่อสร้างผลกระทบต่อชีวิตประจำวัน

มุ่งหน้าไป เป็นแรงบันดาลใจ. และสนุกไปกับเรดิส

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis ใครเป็นคนสร้างแอปนี้

วิศรุต โกหลี

วิธีสร้างระบบการจัดการกฎธุรกิจแบบกระจายโดยใช้ Redis

Vishrut เป็นนักพัฒนาแบบฟูลสแตกและผู้ที่ชื่นชอบข้อมูลซึ่งเชี่ยวชาญใน Python, MATLAB/octave และอัลกอริธึมการเรียนรู้ของเครื่อง หากคุณต้องการติดตามข่าวสารล่าสุดเกี่ยวกับโครงการทั้งหมดของเขา อย่าลืมติดตามเขาบน GitHub