Kata pengantar
Karena alasan kerja, perlu untuk mengintegrasikan Dubbo ke dalam proyek, jadi saya memeriksa dokumen terkait Dubbo dan menemukan bahwa Dubbo belum diperbarui saat ini, jadi saya mengalihkan perhatian saya ke Dubbox. Dubbox adalah proyek yang dikembangkan oleh Dangdang.com berdasarkan Dubbo, Dubbox. Karena salah satu proyek perusahaan didasarkan pada Spring MVC 3.0 dan yang lainnya didasarkan pada boot musim semi, dan Spring Boot memiliki dokumen yang relatif lebih sedikit, jadi artikel ini mencatat cara mewarisi Dubbox di bawah Spring Boot
1. Instal Zookeeper
1. Pengantar ZooKeeper
Zookeeper adalah layanan koordinasi aplikasi terdistribusi open source yang didistribusikan. Ini adalah implementasi open source dari Google Chubby dan komponen penting Hadoop dan HBase. Ini adalah perangkat lunak yang menyediakan layanan yang konsisten untuk aplikasi terdistribusi, dan fungsinya meliputi: konfigurasi dan pemeliharaan, layanan nama domain, sinkronisasi terdistribusi, layanan grup, dll.
Tujuan Zookeeper adalah untuk mengemas layanan kunci yang kompleks dan rawan kesalahan, dan memberi pengguna antarmuka yang sederhana dan mudah digunakan serta sistem yang efisien dan stabil.
Dubbo adalah kerangka kerja terdistribusi yang bergantung pada Zookeeper. Tentu saja, dubbox pengembangan sekunder pasti akan mengandalkan Zookeeper, jadi kita perlu menginstal Zookeeper terlebih dahulu.
2. Unduh Zookeeper
Alamat situs web resmi Zookeeper http://zookeeperer.apache.org/
Unduh alamat http://apache.fayea.com/zooKeeper/
Alamat unduhan lokal lebih nyaman: //www.vevb.com/softs/578345.html
3. Instal Zookeeper
Karena saya mengonfigurasinya di lingkungan Windows, saya akan berbicara secara singkat tentang konfigurasi di bawah Windows. Pertama, unzip paket terkompresi, lalu masukkan folder conf, salin zoosample.cfg untuk membuat salinan, dan kemudian ganti nama menjadi zoo.cfg, karena zookeeper hanya mengenali zoo.cfg, dan standarnya tidak tersedia. zoosample.cfg adalah file konfigurasi default, tetapi karena nama file, Zookeeper tidak dapat mengenalinya. Tentu saja, tidak apa -apa untuk secara langsung mengganti nama zoo_sample.cfg, itu hanya tergantung pada favorit Anda.
4. Mulai ZooKeeper
Jalankan saja zkserver.cmd di direktori bin langsung di lingkungan Windows. Jika itu adalah lingkungan Linux, jalankan di direktori bin.
./zkserver.sh start
Zookeeper bisa dimulai
5. Tambahkan dependensi dubbox
<dependency> <GroupId> com.alibaba </groupid> <ArTifactId> dubbo </t ArtifactId> <version> 2.8.4 </version> </dependency> <dependency> <groupid> com.101tec </groupid> <ArTifactID> ZKCLIENT </ArtifactId> </Groupid> <ArTifactID> ZKCLIENT </ArtifactId> Versi </Groupid> <TiFacTID> </ArtifactId> </Versi 0.9 </Versi </.9 </Versi </.9 <GroupId> org.apache.zooKeeper </groupid> <ArtifactId> ZooKeeper </arttifactid> <version> 3.4.6 </version> <celuctions> <scuxclusion> <groupid> org.slf4j </groupid> <Artifactid> Slf4j-log4j12 </artifacid </groupid> <Artifactid> <ArTifactId> LOG4J </artifactId> </cexclusion> </eksklusi> </dependency>
Perhatikan bahwa versi 2.8.4 dari Dubbo di sini disusun sendiri, yang tidak tersedia di repositori Maven karena Dubbo tidak lagi diperbarui, sementara 2.8.4 adalah dubbox Dangdang.com, jadi jika Anda ingin menggunakannya, baik mengkompilasi dubbox atau menggunakan versi lama dubbo, jadi jika Anda ingin menggunakannya, baik untuk versi lama dubbo dari dubbo lama dari dubbo lama atau versi lama dari dubbo dari dubbo lama lama atau versi lama dari dubbo dari dubbo lama lama atau versi lama dari dubbo dari dubbo lama lama atau versi lama dari dubbo dari dubbo lama lama atau versi lama lama lama lama atau versi lama.
6. Tambahkan kelas antarmuka penyedia layanan:
Paket wang.raye.dubbo.interfaces; Public Interface dubbointerface {public String Hello (string name);}Kelas Implementasi Antarmuka:
paket wang.raye.dubbodemo1; impor org.springframework.stereotype.service; impor wang.raye.dubbo.dubbointerface; @Servicepublic kelas dubboImpl mengimplementasikan dubbointerface {public string hello (string name) {return "hello"+name+"This is dubbodemo1"; }}7. Tambahkan Konfigurasi Dubbo XML XML File ke folder Sumber. Anda dapat memberi nama nama sesuka hati. Ini adalah dubbo.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: jee = "http://www.springframework.org/schema/jee" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: dubbo = "http:/schema" xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://code.alibabatech.com/schema/dubbo http:/code.alibabatech.com/schema/dubbo.dubbo.xss http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd "default-lazy-init =" false "> <!-Informasi nama aplikasi penyedia, ini adalah informasi aplikasi, ini adalah informasi yang disediakan, ini. Halaman manajemen dubbo kami lebih jelas aplikasi mana yang diekspos-> <dubbo: nama aplikasi = "dubbo-provider1"> </dubbo: application> <!-mengekspos antarmuka menggunakan anotasi <dubbo: annotation package = "wang.raye.dubbodemo1" />-<!-Expose Alamat Layanan Menggunakan Zooke. Alamat = "ZooKeeper: //192.168.1.126: 2181" periksa = "false" berlangganan = "false" register = ""> </dubbo: registry> <!-paparan antarmuka yang akan diekspos-/<dubbo: service interface = "wang.
Setiap simpul di sini memiliki penjelasan, saya yakin itu tidak akan terlalu banyak penjelasan
8. Konfigurasikan konsumen
Referensi untuk penyedia jarak jauh di kelas
paket wang.raye.dubbodemo3.controller; impor org.springframework.beans.factory.annotation.autowired; impor org.springframework.stereotype.controller; impor org.springframework.web.bind.annotation.requestmapping; Impor org.springframework.web.bind.annotation.responseBody; import wang.raye.dubbo.dubbointerface; @controllerpublic kelas dubbocontroll {@Autowired private dubbointerface antarmuka1; @RequestMapping ("/hello") @ResponseBody public String Hello (nama string) {return interface1.hello (name); }}Konfigurasi XML Konsumen
<beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: dubbo = "htttp:/xaMaMeM.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHAT.ECHOB.ECHAT.ECHOB.ECHAT.ECHOB.ECHAT.ECHOB.ECHAT.ECHOB.ECHAT.CEMP.CHOBAT.ECHAT.ECHAT.ECHAT.ECHOB.ECHAT.ECHOB.ECHAT.ECHBOB.CEMA. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-leans.xsd http://code.alibabatech.com/schema/schema/schema/schema http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-nama aplikasi konsumen, digunakan untuk menghitung dependensi, bukan kondisi yang cocok, jangan sama dengan penyedia-> <dubbo: name aplikasi =" dubbo-custom-dsp "/<dubbo: Alamat = "ZooKeeper: //192.168.1.126: 2181"/> <!-Hasilkan Agen Layanan Jarak Jauh, Anda dapat menggunakan Demoservice seperti kacang lokal-> <dubbo: referensi id = "dubboService" antarmuka = "wang.raye.dubbo.InterInterface.dubboBTORFACE"
Ada komentar di sini, jadi seharusnya tidak perlu mengatakan lebih banyak. Selain itu, artikel ini tidak memperhatikan konfigurasi dubbo, tetapi terutama berbicara tentang dubbox integrasi boot musim semi
9. Referensi Konfigurasi Dubbo XML Untuk Menambahkan Anotasi ke Kelas Aplikasi Boot Spring
@Importresource ({"classpath: dubbo.xml"})Karena nama XML saya adalah dubbo.xml, saat Anda menggunakannya, Anda perlu mengubahnya menjadi nama XML Anda sendiri. Catatan: Kelas aplikasi proyek konsumen dan proyek penyedia layanan perlu dikonfigurasi dengan anotasi ini.
Akhir
Pada titik ini, Integrasi Boot Spring Duubox selesai. Tentu saja, harus kosong untuk mengatakan ini, jadi proyek yang saya uji diunggah ke GitHub. Anda bisa merujuknya. Tentu saja, jika Anda ingin mengujinya, Anda perlu memodifikasi alamat Zookeeper di simpul Dubbo: Registry Dubbo.xml.
Alamat demo, untuk menunjukkan keunggulan Dubbo, saya membuat dua penyedia layanan. Jika saya sering menelepon, saya akan secara otomatis memilih salah satu dari keduanya, dan bahkan menghindari penyeimbangan beban. Itu harus dilakukan oleh Zookeeper sendiri, jadi saya merasa itu cukup bagus.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.