oim-server เป็นฝั่งเซิร์ฟเวอร์ของระบบแชท OIM ที่พัฒนาในภาษา Java และใช้สถาปัตยกรรมไมโครเซอร์วิสของ Spring Cloud ตราบใดที่เครื่องเพียงพอ ผู้ใช้ก็ไม่มีปัญหา
บริการ OIM คือชุดของเซิร์ฟเวอร์การส่งข้อความโต้ตอบแบบทันทีที่พัฒนาโดยใช้ภาษา Java และอิงตามระบบไมโครเซอร์วิสสปริงคลาวด์ โซลูชันที่ปรับใช้ได้มีให้ตั้งแต่เครื่องสแตนด์อโลนไปจนถึงไมโครเซอร์วิส และทั้งเครื่องสแตนด์อโลนและบริการไมโครสามารถสลับได้อย่างราบรื่น และลูกค้าสามารถรับรู้ถึงการเปลี่ยนแปลงของบริการได้
คุณสมบัติ
oim-server ช่วยให้คุณสามารถพัฒนาอินเทอร์เฟซการส่งข้อความโต้ตอบแบบทันทีเช่น spring mvc สำหรับนักพัฒนาที่มีประสบการณ์ในการพัฒนาเว็บพื้นหลัง แต่ไม่มีประสบการณ์เซิร์ฟเวอร์ข้อความโต้ตอบแบบทันที พวกเขาสามารถแปลงได้อย่างง่ายดายและเข้ากันได้กับอินเทอร์เฟซเว็บของ spring ตัวอย่างตามด้านล่างนี้
ร้องขออินเทอร์เฟซ @RestController คลาสสาธารณะ UserController {/** * * เข้าสู่ระบบ
* วันที่ 2019-02-17 12:26:38
* * @param user * @since 1.0.0 */@ActionMapping(value = " /user/login") // เส้นทางนี้ยังสามารถใช้ http โพสต์เพื่อร้องขอการเข้าสู่ระบบผู้ใช้สาธารณะ(@Define("body.user") ผู้ใช้ผู้ใช้) { // "body.user" (เนื้อหานี้เป็นฟิลด์เนื้อหาใน json ไม่ใช่เนื้อหาของโปรโตคอล http) // เป็นเส้นทางแอตทริบิวต์ json ของเนื้อหาข้อความใน http หรือ tcp {"body":{"user":{}}}// ...ละเว้นเนื้อหาการใช้งานที่ส่งคืนผู้ใช้ ;}}
คำอธิบายแคตตาล็อก
|__oim-server-run #Java service|__cloud #Microservice เวอร์ชันที่ใช้งาน|__common #jar ขึ้นอยู่กับสาธารณะ |__oim-server-element-basic-* #นี่คือส่วนที่ทั้งสแตนด์อโลนและไมโครเซอร์วิสต้องพึ่งพา รวมถึงคำจำกัดความเชิงนามธรรมบางประการ . บริการและเครื่องสแตนด์อะโลนมีการใช้งานที่แตกต่างกัน |__oim-server-element-cloud-* #สิ่งเหล่านี้เป็นการพึ่งพาที่จำเป็นสำหรับไมโครเซอร์วิส การใช้งานบางอย่างสำหรับไมโครเซอร์วิส|__บริการ #ไมโครเซอร์วิสที่ทำงานอยู่แต่ละรายการ |__core #ไมโครเซอร์วิสประเภทการจัดการทางเทคนิคเป็นหลัก เช่น : ศูนย์การลงทะเบียน เกตเวย์ ฯลฯ |__action #รวบรวมที่อยู่อินเทอร์เฟซของบริการทั้งหมด เพื่อให้เกตเวย์สามารถเข้าถึงบริการที่เกี่ยวข้องได้โดยตรงผ่านที่อยู่อินเทอร์เฟซ โดยไม่ต้องกำหนดค่าชื่อบริการ |__admin #เพียงรวมผู้ดูแลระบบสปริงบูต |__center #Registration center|. __gateway #Gateway|__net #TCP, WebSocket และบริการเชื่อมต่อระยะยาวอื่นๆ สำหรับการส่งข้อความโต้ตอบแบบทันที|__การควบคุมใช้เพื่อจัดการบริการการเชื่อมต่อระยะยาวของไคลเอ็นต์ผู้ใช้ (งานเครือข่าย)|__บริการการเชื่อมต่อระยะยาวของไคลเอ็นต์ผู้ใช้ที่ทำงาน|__support #บริการสนับสนุนสาธารณะ เช่น การอัพโหลดไฟล์ |__ไฟล์ |__ระบบ #การกำหนดค่า ข้อมูลทั่วไป ฯลฯ สำหรับทั้งระบบ |__setting # |__งาน #บริการธุรกิจ (เนื่องจากธุรกิจยาวเกินไปจึงมีที่อื่นที่ชื่อนี้ง่ายต่อการ use) |__chat #Chat business |__contact #Contact person|. __core #Core: User|__group #Group|__portal #Service address entry|__single # |__oim-server-single-main # เพราะโมดูลการทำงานของสแตนด์อโลนและไมโครเซอร์วิส มีการใช้ร่วมกัน ต่อไปนี้เป็นการใช้งานแบบสแตนด์อโลนที่เป็นนามธรรม |__oim- เซิร์ฟเวอร์-single-running #Start การกำหนดค่าบริการ|__oim-server-web #Vue อินเทอร์เฟซการจัดการพื้นหลัง
คำแนะนำในการพัฒนา OIM
1. ข้อกำหนดด้านสิ่งแวดล้อม
JDK 1.8.0_xxx
DB รองรับ MySQL แนะนำให้ใช้เซิร์ฟเวอร์ Oracle SQL MySQL 8.0
ไมโครเซอร์วิสยังต้องการสิ่งต่อไปนี้ด้วย
เรดิส
RaadfdsitMQ
2. เกี่ยวกับเวอร์ชันไมโครเซอร์วิสและการใช้งาน
รหัสธุรกิจและรหัสธุรกิจของเวอร์ชันไมโครเซอร์วิสมีการใช้ร่วมกัน ดังนั้นโมดูลธุรกิจทั้งหมดจึงอยู่ในไดเร็กทอรีไมโครเซอร์วิส การประมวลผลการเชื่อมต่อ IM แบบยาวมีความแตกต่างกันเท่านั้น ดังนั้นเครื่องแบบสแตนด์อโลนและไมโครเซอร์วิสจึงต้องได้รับการจัดการที่แตกต่างกัน
สถานที่นี้ถูกรวมไว้ในอินเทอร์เฟซและนำไปใช้ในบริการเริ่มต้นต่างๆ
3. เกี่ยวกับการอ้างอิงบางอย่างที่ไม่สามารถดาวน์โหลดได้
เนื่องจากการอ้างอิงบางอย่างไม่ได้รับการเผยแพร่ไปยังไลบรารีกลาง Maven แต่อยู่ในไลบรารีส่วนตัวของฉัน จึงไม่สามารถกำหนดค่าในไฟล์การกำหนดค่าส่วนกลางของ Maven ได้ (โดยปกติจะอยู่ในไดเร็กทอรีผู้ใช้.m2/setting.xml)
บริการ Mirror (แสดงความคิดเห็นหรือลบส่วนตรงกลาง)
โปรเจ็กต์การกำหนดค่า maven ไลบรารีส่วนตัวได้รับการกำหนดค่าแล้ว
4. เกี่ยวกับสคริปต์ฐานข้อมูล
เพียงสร้างฐานข้อมูลก่อน แก้ไขการกำหนดค่าฐานข้อมูล และเริ่มการสร้างตารางอัตโนมัติ ขณะนี้มีปัญหากับการสร้างตารางในฐานข้อมูล H2 เริ่มต้น ขอแนะนำให้ใช้ MySQL 8.0