1. Pengantar Cloud Musim Semi
Spring Cloud adalah alat pengembangan arsitektur Microservice berdasarkan implementasi Springboot. Ini memberikan metode pengembangan sederhana untuk operasi yang terlibat dalam arsitektur layanan mikro seperti manajemen konfigurasi, tata kelola layanan, pemutus sirkuit, perutean cerdas, agen mikro, bus kontrol, kunci global, kampanye pengambilan keputusan, sesi terdistribusi dan manajemen negara kelompok.
Spring Cloud mencakup beberapa subproyek (untuk beberapa produk open source berbeda yang terlibat dalam sistem terdistribusi, dan juga dapat ditambahkan), seperti yang dijelaskan di bawah ini.
Konfigurasi Cloud Musim Semi: Alat Manajemen Konfigurasi, Spring Cloud Netflix: Komponen Inti, Bus Cloud Musim Semi: Acara, Bus Pesan, dan banyak lagi.
2. Spring Cloud Eureka
Spring Cloud Eureka adalah bagian dari Spring Cloud Netflix Microservice Suite. Ini dienkapsulasi sekunder berdasarkan Netflixeureka, yang terutama bertanggung jawab untuk menyelesaikan fungsi tata kelola layanan dalam arsitektur layanan mikro. Spring Cloud Menambahkan Konfigurasi Otomatis Gaya Boot Pegas ke Eureka, kami dapat dengan mudah mengintegrasikan aplikasi layanan mikro yang dibangun oleh Spring Boot dengan sistem tata kelola layanan Eureka dengan hanya memperkenalkan ketergantungan dan konfigurasi anotasi.
Tata kelola layanan dapat dikatakan sebagai modul inti dan dasar paling dalam arsitektur Microservice. Ini terutama digunakan untuk mewujudkan pendaftaran otomatis dan penemuan berbagai contoh layanan mikro.
AKU AKU AKU. Contoh
(1) Alat: Ide Intellij
(2) Buat proyek kosong baru
(3) Buat server eureka baru, modul, bernama: eurekaserver
Klik kanan pada Proyek -> Buat Modul -> Pilih SpringInitialir -> Isi Nama Proyek, dan Langkah Berikutnya ->, pilih Eureka Server seperti yang ditunjukkan pada gambar:
(3-1) pom.xml
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-web </artifactid> </dependency> <dependency> <rouptid> org.spramework.cloud </groupid> <t Artifactid> <artifactid> <Artif-cloud-starter-eurence <GroupId> org.springframework.boot </groupid> <ArtifactId> spring-boot-starter-test </stifactid> <scope> tes </seupop> </dependency>
(3-2) application.yml
Server: Port: 5555 Eureka: Instance: HostName: LocalHost Klien: Registerwitheureka: False Fetchregistry: False ServiceUrl: DefaultZone: http: // $ {eureka.instance.hostname}: $ {server.port}/eureka/ Catatan: eureka.client.register-with-eureka: Karena aplikasi ini adalah registri, diatur ke false, yang berarti Anda tidak mendaftarkan diri dengan registri.
Eureka.Client.Fetch-Registry: Karena tanggung jawab Registry adalah untuk mempertahankan instance layanan, tidak perlu mengambil layanan, sehingga juga diatur ke false.
(3-3) Kelas Pintu Masuk
impor org.springframework.boot.springapplication; impor org.springframework.boot.autoconfigure.springbootApplication; impor org.springframework.cloud.netflix.eureka.server.enableeureKaserver; @EnableeureKaserver @springbootApplication kelas publik eurekaserverapplication {public static void main (string [] args) {springapplication.run (eureKaserverApplication.class, args); }}(3-4) Mulailah tes
Setelah menyelesaikan konfigurasi di atas, mulai aplikasi dan kunjungi http: // localhost: 5555/. Anda dapat melihat panel Informasi Eureka yang ditunjukkan pada gambar di bawah ini. Contoh yang saat ini terdaftar dengan kolom Eureka kosong, menunjukkan bahwa pusat pendaftaran belum mendaftarkan layanan apa pun.
(4) Setelah penyedia layanan pendaftaran telah menyelesaikan pembentukan Pusat Pendaftaran Layanan, kami akan mencoba menambahkan aplikasi boot musim semi yang ada ke sistem tata kelola layanan Emeka.
(5) Buat klien Eureka baru, modul, bernama: HelloServer, Helloserver ini digunakan sebagai model anak Eurekaserver
(6) Reformasi konfigurasi POM model orang tua dan model anak (6-1) konfigurasi pom.xml eurekaserver:
<packaging> pom </packaging> <modules> <codule> ../ helloServer </podule> </codules>
(6-2) Semua pom.xml dari eurekaserver:
<? Xml Version = "1.0" encoding = "UTF-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </ModelVersion> <groupid> Com.example </groupcing> 4.0.0 <version> 0.0.1-snapshot </version> <packaging> pom </packaging> <codules> <codule> ../ hellserver </podule> </podules> <name> eurekaserver </name> <cripence> Proyek demo untuk Spring Boot </description> <sarta> <groupid> org.springfring.boot. <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <Project.Reporting.OutputEncoding> UTF-8 </project.reporting.outputEncoding> <Java.Version> 1.8 </java.version> <spring-cloud.version> </release </spring-cloud.version> </properties> <groperties> <groupping> </grouppring. <ArTifactId> Spring-boot-starter-web </stifactid> </gandendency> <dependency> <Groupid> org.springframework.cloud </sroupid> <RaintifactId> <cloud-cloud-starter-eureka-server. <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <ype> pom </ype> <scope> impor </opope> </dependency> </dependencies> </dependencies> </dependencies> </dependencyManagement> <build> <lugin> <clugin> <groupid> org.springframework.boot </groupid> <ArtiFactId> Spring-Boots-Plonthin--Tpl </ Build> </joy Project>(6-3) Konfigurasi Pom.xml HelloServer:
<partent> <groupid> com.example </groupid> <ArTifactId> demoeurekaserver </arttifactid> <version> 0.0.1-snapshot </version> <relativePath> ../ eurekaserver/pom.xml </relativePath> </Parent>
(6-4) Semua konfigurasi pom.xml dari HelloServer:
<? Xml Version = "1.0" encoding = "UTF-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </ModelVersion> <taritie> <tarcuDid> COM.ECOXOX> 4.0.0 <artifactId>demoeurekaserver</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../eurekaserver/pom.xml</relativePath> </parent> <artifactId>helloserver</artifactId> <packaging>jar</packaging> <name>helloserver</name> <description>Demo project for Spring Boot </creckripe> <Properties> <Tart-class> com.example.helloServer.helloServerApplication </Tart-class> </Properties> <dependencies> <dependency> <groupid> org.springframework.boot </groupid> <Artifactid> Spring-boot-starter-web </art/groupid> <ArtifactId> Spring-starter-web </art/groupid> <Artifactid> SPRING-STARTER-OB </ArtiCid <GroupId> org.springframework.boot </groupid> <ArTifactId> spring-boot-starter-test </t Artifactid> <scope> test </seupope> </dependency> </dependency> </dependency> </dependency> <dependency> <groupId> org.springframework.cloud </Dependency> <groupid> <ArTifactId> Spring-cloud-Dependencies </artifactId> <version> $ {spring-cloud.version} </version> <yper> pom </leype> <scope> impor </opope> </dependency> </dependency> </dependencyManagement> <build> <dlugin> <leplandency> <grouping> <groupdfr. <ArTifactId> spring-boot-maven-plugin </artifactid> </lugin> </lugin> </build> </poject>(6-5) HelloServer's Application.yml Configuration:
Server: Port: 5556 Spring: Aplikasi: Nama: HelloServer Eureka: Klien: ServiceUrl: Defaultzone: http: // localhost: 5555/eureka/
(6-6) Kelas Startup HelloServer:
@EnableEureKaserver @springbootApplication @RestController kelas publik HelloServerApplication {private final Logger log = (Logger) LoggerFactory.getLogger (HelloServerApplication.class); @Autowired Private Discoveryclient Client; @RequestMapping (name = "/hello", method = requestMethod.get) public string index () {serviceInstance instance = client.getLocalServiceInstance (); log.info ("/halo, host:" + instance.getHost () + ", service_id:" + instance.getServiceId ()); kembali "Halo Springcloud ~"; } public static void main (String [] args) {springApplication.run (HelloServerApplication.class, args); }}(7) Mulai Eurekaserver dan HelloServer masing -masing, dan uji:
(7-1) Kunjungi Eurekaserver: (Anda dapat dengan jelas melihat informasi HelloServer)
(7-2) Kunjungi HelloServer:
(7-3) Periksa informasi konsol HelloServer:
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.