مقدمة
بسبب أسباب العمل ، من الضروري دمج Dubbo في المشروع ، لذلك راجعت المستندات المتعلقة بـ Dubbo ووجدت أنه لم يتم تحديث Dubbo في الوقت الحالي ، لذلك حولت انتباهي إلى Dubbox. DubBox هو مشروع تم تطويره بواسطة Dangdang.com استنادًا إلى Dubbo ، DubBox. نظرًا لأن أحد مشاريع الشركة يعتمد على Spring MVC 3.0 والآخر يعتمد على Boot Boot ، ويحتوي Spring Boot على مستندات أقل نسبيًا ، لذا فإن هذه المقالة تسجل كيفية وراثة Dubbox تحت SPRING BOOT
1. تثبيت zookeeper
1. مقدمة إلى Zookeeper
ZookeePer هي خدمة تنسيق التطبيق الموزعة المصدر الموزعة. إنه تطبيق مفتوح المصدر لسمين Google ومكون مهم من Hadoop و HBase. إنه برنامج يوفر خدمات متسقة للتطبيقات الموزعة ، وتشمل وظائفه: التكوين والصيانة ، خدمات اسم المجال ، التزامن الموزعة ، خدمات المجموعة ، إلخ.
هدف Zookeeper هو حزم الخدمات الرئيسية المعقدة والمعرضة للخطأ ، وتزويد المستخدمين بواجهات بسيطة وسهلة الاستخدام وأنظمة فعالة ومستقرة.
Dubbo هو إطار موزع يعتمد على Zookeeper. بالطبع ، سيعتمد Dubbox للتطوير الثانوي بالتأكيد على ZookeEper ، لذلك نحتاج إلى تثبيت Zookeeper أولاً.
2. تنزيل zookeeper
عنوان الموقع الرسمي Zookeeper http://zookeeper.apache.org/
تنزيل عنوان http://apache.fayea.com/zookeeper/
عنوان التنزيل المحلي أكثر ملاءمة: //www.vevb.com/softs/578345.html
3. تثبيت zookeeper
لأنني قمت بتكوينه في بيئة Windows ، سأتحدث بإيجاز عن التكوين أدناه Windows. أولاً ، قم بإلغاء ضغط الحزمة المضغوطة ، ثم أدخل المجلد Conf ، ونسخ ZooSample.cfg لإنشاء نسخة ، ثم إعادة تسميتها إلى zoo.cfg ، لأن ZookeePer يتعرف فقط على zoo.cfg ، والافتراضي غير متوفر. ZooSample.cfg هو ملف التكوين الافتراضي ، ولكن بسبب اسم الملف ، لا يمكن لـ ZookeePer التعرف عليه. بالطبع ، لا بأس في إعادة تسمية zoo_sample.cfg مباشرة ، فهذا يعتمد فقط على المفضل لديك.
4. ابدأ Zookeeper
ما عليك سوى تشغيل ZkServer.cmd في دليل BIN مباشرة في بيئة Windows. إذا كانت بيئة Linux ، قم بتشغيلها في دليل BIN.
./zkserver.sh البدء
يمكن أن يبدأ Zookeeper
5. إضافة تبعيات Dubbox
<Rependency> <roupency> com.alibaba </rougiD> <StifactId> dubbo </shintifactid> <الإصدار> 2.8.4 </version> </sempendency> <reperence> <roupiD> com.101tec </rougiD> <StifactId> ZkClient </stifactid> <sople> 0.9 <///// <roughid> org.apache.zookeeper </rougiD> <StifactId> zookeeper </shintifactid> <الإصدار> 3.4.6 </version> <Sexplusions> <Section> <roupiD> org.slf4j </groupid> <StifactId> log4j </artifactid> </simplusion> </arvisions> </reperency>
لاحظ أن إصدار 2.8.4 من Dubbo هنا يتم تجميعه بنفسي ، وهو غير متوفر في مستودع Maven لأن Dubbo لم يعد يتم تحديثه ، بينما 2.8.4 هو Dangdang.com Dubbox ، لذلك إذا كنت ترغب في استخدامه ، إما تجميع Dubbox أو استخدام الإصدار القديم من Dubbo
6. أضف فئة الواجهة لمزود الخدمة:
Package wang.raye.dubbo.interfaces ؛ public interface dubbointerface {public string hello (string name) ؛}فئة تنفيذ الواجهة:
Package wang.raye.dubbodemo1 ؛ استيراد org.springframework.stereotype.service ؛ import wang.raye.dubbo.dubbointerface ؛ servicepublic class dubboIppl تنفذ dubBointerface {public string hello (اسم السلسلة) {return "hello"+name+"this is dubbodemo1" ؛ }}7. أضف ملف تكوين Dubbo XML XML إلى مجلد المصادر. يمكنك تسمية الاسم في الإرادة. هنا هو dubbo.xml
<؟ xmlns: jee = "http://www.springframework.org/schema/jee" Xmlns: Context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/spring-tx-3 http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-33 http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context <!- معلومات اسم التطبيق ، وهذا يعادل إعطاء اسم. صفحة إدارة Dubbo الخاصة بنا أكثر وضوحًا أي تطبيق مكشوف-> <dubbo: اسم التطبيق = "dubbo-provider1"> < /dubbo: application> <!-كشف الواجهة باستخدام التعليق التوضيحي <DubBo: حزمة التعليق التوضيحي = "Wang.Raye.Dubbodemo1" />-> <! العنوان = "ZookeEper: //192.168.1.126: 2181" check = "false" اشتراك = "false" register = ""> </dubbo: registry> <!-التعرض للواجهة المراد تعرضها-> <dubbo: خدمة الخدمة = "wang.raye.dubbo.interfaces.dubboface"
كل عقدة هنا لها تفسير ، أعتقد أنه لن يكون الكثير من التفسير
8. تكوين المستهلكين
إشارات إلى مقدمي الخدمات عن بُعد في الفصل
package wang.raye.dubbodemo3.controller ؛ استيراد org.springframework.beans.factory.annotation.autowired ؛ استيراد org.springframework.stereotype.controller ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ استيراد org.springframework.web.bind.annotation.ResponseBody ؛ استيراد wang.raye.dubbo.dubbointerface ؛ controllerpublic class dubbocontroll {Auutowired private dubbointerface interface1 ؛ requestMapping ("/hello") @Responsebody public string hello (اسم السلسلة) {return interface1.hello (name) ؛ }}تكوين XML للمستهلك
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3 XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-اسم تطبيق المستهلك ، يستخدم لحساب التبعيات ، وليس الشروط المطابقة ، لا تكون هي نفسها الموفر-> <dubbo: application =" dubbo-custom-ddsp " العنوان = "Zookeeper: //192.168.1.126: 2181"/> <!-إنشاء وكيل خدمة عن بُعد ، يمكنك استخدام الخدمات التجريبية مثل الفاصوليا المحلية-> <dubbo: reference id = "dubboservice" interface = "wang.raye.dubbo.interfaces.dubboInterface"/>
هناك تعليقات هنا ، لذلك يجب ألا تكون هناك حاجة لقول المزيد. علاوة على ذلك ، لا تهتم هذه المقالة بتكوين Dubbo ، ولكنها تتحدث بشكل أساسي عن Dubbox Integration
9. مرجع Dubbo Configuration XML لإضافة التعليقات التوضيحية إلى فئة تطبيق Boot Spring
ImporTresource ({"classpath: dubbo.xml"})نظرًا لأن اسم XML الخاص بي هو dubbo.xml ، عند استخدامه ، تحتاج إلى تغييره إلى اسم XML الخاص بك. ملاحظة: يجب تكوين فئة التطبيق لمشروع المستهلك ومشروع مزود الخدمة مع هذا التعليق التوضيحي.
النهاية
في هذه المرحلة ، تم الانتهاء من تكامل Boot Spring Boot Duubox. بالطبع ، يجب أن يكون فارغًا أن نقول هذا ، لذلك تم تحميل المشروع الذي اختبرته على Github. يمكنك الرجوع إليها. بالطبع ، إذا كنت ترغب في اختباره ، فأنت بحاجة إلى تعديل عنوان Zookeeper في Dubbo: Node Recistry of Dubbo.xml.
العنوان التجريبي ، من أجل إظهار مزايا Dubbo ، قمت بإنشاء مزودي خدمة. إذا اتصلت بشكل متكرر ، فسوف أقوم تلقائيًا بتحديد أي من هذين الاثنين ، وحتى تجنب موازنة التحميل. يجب أن يتم ذلك بواسطة Zookeeper نفسه ، لذلك أشعر أنه جيد جدًا.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.