SBE คือการนำเสนอ OSI เลเยอร์ 6 สำหรับการเข้ารหัสและถอดรหัสข้อความแอปพลิเคชันไบนารีสำหรับแอปพลิเคชันทางการเงินที่มีความหน่วงต่ำ พื้นที่เก็บข้อมูลนี้มีการใช้งานอ้างอิงใน Java, C++, Golang, C# และ Rust
รายละเอียดเพิ่มเติมเกี่ยวกับการออกแบบและการใช้งาน SBE มีอยู่ใน Wiki
สามารถดูข้อมูลจำเพาะ XSD สำหรับ SBE ได้ที่นี่ โปรดตอบคำถามเกี่ยวกับข้อกำหนดไปยังชุมชน SBE FIX
สำหรับข้อมูลเวอร์ชันล่าสุดและการเปลี่ยนแปลง โปรดดูบันทึกการเปลี่ยนแปลงพร้อม การดาวน์โหลด ที่ Maven Central
การใช้งาน Java และ C++ SBE ทำงานอย่างมีประสิทธิภาพมากร่วมกับระบบส่งข้อความ Aeron สำหรับการสื่อสารที่มีความหน่วงต่ำและมีปริมาณงานสูง การใช้งาน Java SBE ขึ้นอยู่กับ Agrona สำหรับการใช้งานบัฟเฟอร์ Commercial support is available from [email protected].
ข้อมูลไบนารีและการพึ่งพาสำหรับ Maven, Ivy, Gradle และอื่นๆ สามารถดูได้ที่ http://search.maven.org
ตัวอย่างสำหรับ Maven:
< dependency >
< groupId >uk.co.real-logic</ groupId >
< artifactId >sbe-all</ artifactId >
< version >${sbe.tool.version}</ version >
</ dependency >
Build the project with Gradle using this build.gradle file.
โครงสร้างที่สะอาดสมบูรณ์:
$ ./gradlew
รันตัวอย่าง Java
$ ./gradlew runJavaExamples
Jars สำหรับการเรียกทำงาน แหล่งที่มา และ javadoc สำหรับโมดูลต่างๆ สามารถพบได้ในไดเร็กทอรีต่อไปนี้:
sbe-benchmarks/build/libs
sbe-samples/build/libs
sbe-tool/build/libs
sbe-all/build/libs
ตัวอย่างในการรัน Jar จากบรรทัดคำสั่งโดยใช้ jar 'all' ซึ่งรวมถึงการอ้างอิง Agrona:
java -Dsbe.generate.ir=true -Dsbe.target.language=Cpp -Dsbe.target.namespace=sbe -Dsbe.output.dir=include/gen -Dsbe.errorLog=yes -jar sbe-all/build/libs/sbe-all-${SBE_TOOL_VERSION}.jar my-sbe-messages.xml
หมายเหตุ: Linux, Mac OS และ Windows เท่านั้นในขณะนี้ ดูคำถามที่พบบ่อย Windows builds ได้รับการทดสอบด้วย Visual Studio Express 12
เพื่อความสะดวก สคริปต์ cppbuild
ทำการล้าง สร้าง และทดสอบเป้าหมายทั้งหมดเป็นรุ่น Release
$ ./cppbuild/cppbuild
หากคุณพอใจกับการใช้ CMake การล้างข้อมูล การสร้าง และการทดสอบทั้งหมดจะมีลักษณะดังนี้:
$ mkdir -p cppbuild/Debug
$ cd cppbuild/Debug
$ cmake ../..
$ cmake --build . --clean-first
$ ctest
หมายเหตุ : บิลด์ C++ มีตัวสร้าง C อยู่ด้วย ขณะนี้เครื่องกำเนิดไฟฟ้า C อยู่ระหว่างดำเนินการ
ขั้นแรกให้สร้างโดยใช้ Gradle เพื่อสร้าง SBE jar จากนั้นใช้เพื่อสร้างโค้ด golang สำหรับการทดสอบ
$ ./gradlew
$ ./gradlew generateGolangCodecs
เพื่อความสะดวกบน Linux มีการจัดเตรียม gnu Makefile ไว้เพื่อใช้ทดสอบบางอย่างและมีตัวอย่างบางส่วน
$ cd gocode
# make # test, examples, bench
Go รองรับทั้งการสร้างโครงสร้าง Go ด้วยวิธีการเข้ารหัส / ถอดรหัส และรุ่นฟลายเวทเหมือนกับภาษาอื่นๆ โครงสร้างถูกสร้างขึ้นตามค่าเริ่มต้นเพื่อความเข้ากันได้ ตั้งค่า sbe.go.generate.generate.flyweights=true
เพื่อสร้างฟลายเวท
ผู้ใช้โค้ดที่สร้างโดย golang ควรดูเอกสารประกอบผู้ใช้
นักพัฒนาที่ต้องการปรับปรุงตัวสร้าง golang ควรดูเอกสารประกอบสำหรับนักพัฒนา
ผู้ใช้โค้ดที่สร้างโดย CSharp ควรดูเอกสารประกอบผู้ใช้
นักพัฒนาที่ต้องการปรับปรุงตัวสร้าง CSharp ควรดูเอกสารสำหรับนักพัฒนา
เครื่องกำเนิดสนิม SBE จะผลิตลังกันสนิมที่ปลอดภัย 100% (จะไม่สร้างรหัส unsafe
) ลังที่สร้างขึ้นไม่มีการพึ่งพาไลบรารีใดๆ (รวมถึงไม่มีไลบรารี SBE) หากคุณยังไม่ได้ติดตั้ง Rust โปรดดูที่ Rust: เริ่มต้นใช้งาน
สร้างตัวแปลงสัญญาณสนิม
$ ./gradlew generateRustCodecs
รันการทดสอบ Rust จาก Gradle
$ ./gradlew runRustTests
หรือดำเนินการทดสอบโดยตรงกับ Cargo
$ cd rust
$ cargo test
ลิขสิทธิ์ 2013-2024 เรียล ลอจิก จำกัด
Copyright 2017 MarketFactory Inc.
ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ("ใบอนุญาต"); คุณไม่สามารถใช้ไฟล์นี้ได้เว้นแต่จะเป็นไปตามใบอนุญาต คุณสามารถขอรับสำเนาใบอนุญาตได้ที่
https://www.apache.org/licenses/LICENSE-2.0
เว้นแต่กฎหมายที่ใช้บังคับกำหนดหรือตกลงเป็นลายลักษณ์อักษร ซอฟต์แวร์ที่เผยแพร่ภายใต้ใบอนุญาตนี้จะถูกแจกจ่าย "ตามที่เป็น" โดยไม่มีการรับประกันหรือเงื่อนไขใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย ดูใบอนุญาตสำหรับภาษาเฉพาะที่ควบคุมการอนุญาตและข้อจำกัดภายใต้ใบอนุญาต