Rumah Java javaTutorial 深入解析springCloud的Eureka实践

深入解析springCloud的Eureka实践

Jul 20, 2018 am 11:30 AM

1.初识springcloud

微服务是一种架构方式,最终肯定需要技术架构去实施。

微服务的实现方式很多,但是最火的莫过于Spring Cloud了

Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中。

SpringCloud也是一样,它将现在非常流行的一些技术整合到一起,实现了诸如:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能。其主要涉及的组件包括:

  • Eureka:注册中心

  • Zuul:服务网关
  • Ribbon:负载均衡

  • Feign:服务调用

  • Hystix:熔断器

今天主要认识springcloud的注册中心Eureka

这里举个生活中的实例:

在网约车出现以前,人们出门叫车只能叫出租车。一些私家车想做出租却没有资格,被称为黑车。而很多人想要约车,但是无奈出租车太少,不方便。私家车很多却不敢拦,而且满大街的车,谁知道哪个才是愿意载人的。一个想要,一个愿意给,就是缺少引子,缺乏管理。

此时滴滴这样的网约车平台出现了,所有想载客的私家车全部到滴滴注册,记录你的车型(服务类型),身份信息(联系方式)。这样提供服务的私家车,在滴滴那里都能找到,一目了然。

此时要叫车的人,只需要打开APP,输入你的目的地,选择车型(服务类型),滴滴自动安排一个符合需求的车到你面前,为你服务.

回到springcloud的Eureka上来,Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你需求的服务告诉你。同时,服务提供方与Eureka之间通过“心跳”机制进行监控,当某个服务提供方出现问题,Eureka自然会把它从服务列表中剔除。

这就实现了服务的自动注册、发现、状态监控。

1.png

Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址

提供者:启动后向Eureka注册自己信息(地址,提供什么服务)

消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新

心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态

实践:

Eureka注册中心结构图:

2.png

完善pom.xml文件,添加依赖

以下是pom文件主要部分

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.0.3.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>Finchley.RELEASE</spring-cloud.version>
</properties>

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <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>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>
Salin selepas log masuk

编辑启动类

@SpringBootApplication
@EnableEurekaServer // 声明这个应用是一个EurekaServer
public class SpringcloudEurekaServerApplication {

   public static void main(String[] args) {

      SpringApplication.run(SpringcloudEurekaServerApplication.class, args);
   }
}
Salin selepas log masuk

编写application.yml配置

server:
  port: 8081 # 端口
spring:
  application:
    name: eureka-server # 应用名称,会在Eureka中显示
eureka:
  client:
    register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是true
    fetch-registry: false # 是否拉取其它服务的信息,默认是true
    service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
      defaultZone: http://127.0.0.1:${server.port}/eureka
Salin selepas log masuk

运行项目:访问 http://127.0.0.1:8081

3.png

此时一个Eureka注册中心就搭建成功了

Atas ialah kandungan terperinci 深入解析springCloud的Eureka实践. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Maklum balas temu bual siri 25 syot Spring Cloud Maklum balas temu bual siri 25 syot Spring Cloud Aug 24, 2023 pm 03:57 PM

Spring Cloud pada masa ini agak popular, dan ia hampir merupakan salah satu kemahiran yang diperlukan untuk pembangun Java. Ia adalah perkara biasa untuk ditanya soalan ini semasa temuduga mungkin ramai yang menggunakannya untuk masa yang lama tetapi gagal dalam temuduga tanpa memahami prinsipnya.

Panduan Perbandingan dan Pemilihan: Perbandingan Fungsi Awan Spring dan But Spring Panduan Perbandingan dan Pemilihan: Perbandingan Fungsi Awan Spring dan But Spring Dec 29, 2023 pm 06:36 PM

SpringCloud dan SpringBoot merupakan rangka kerja sumber terbuka yang paling popular dalam bidang Java masing-masing menyediakan set lengkap seni bina perkhidmatan mikro dan penyelesaian untuk membina aplikasi dengan cepat. Artikel ini akan membandingkan fungsi mereka dan memberikan panduan pemilihan untuk membantu pembaca memahami kelebihan mereka dan senario yang boleh digunakan. SpringBoot ialah rangka kerja untuk membangunkan aplikasi Java Ia menyediakan proses pembangunan yang dipermudahkan dan menyepadukan sejumlah besar fungsi dan komponen yang biasa digunakan, mengurangkan beban kerja pembangun.

Analisis contoh ujian penggunaan SpringCloud-Spring Boot Starter Analisis contoh ujian penggunaan SpringCloud-Spring Boot Starter May 16, 2023 am 11:10 AM

Apakah SpringBootStarter? SpringBootStarter ialah konsep yang dicadangkan dalam komponen SpringBoot, yang memudahkan banyak konfigurasi yang menyusahkan Dengan memperkenalkan pelbagai pakej SpringBootStarter, anda boleh membina perancah projek dengan cepat. Sebagai contoh, beberapa yang sering kita gunakan: spring-boot-starter-web: spring-boot-starter-data-redis: spring-boot-starter-data-mongodb: spring-boot-starter-data-jpa: spring -b

Perbandingan dan analisis kaedah aplikasi SpringCloud dan SpringBoot dalam bidang perkhidmatan mikro Perbandingan dan analisis kaedah aplikasi SpringCloud dan SpringBoot dalam bidang perkhidmatan mikro Dec 29, 2023 pm 03:45 PM

Dalam beberapa tahun kebelakangan ini, dengan peningkatan pengkomputeran awan dan seni bina teragih, aplikasi seni bina perkhidmatan mikro telah menjadi semakin meluas. Sebagai dua rangka kerja penting dalam pembangunan Java, Spring Cloud dan Spring Boot memainkan peranan penting dalam pelaksanaan perkhidmatan mikro. Walau bagaimanapun, ramai orang masih mempunyai keraguan tentang kaedah aplikasi mereka yang berbeza dalam bidang perkhidmatan mikro. Artikel ini akan meneroka aplikasi Spring Cloud dan Spring Boot dalam perkhidmatan mikro dari perspektif yang berbeza. Mula-mula, mari belajar tentang Spri

Apakah lima komponen teras springcloud Apakah lima komponen teras springcloud Jun 12, 2023 pm 03:51 PM

Lima komponen teras springcloud adalah: 1. Eureka, yang melaksanakan tadbir urus perkhidmatan; 4. Zuul, yang mempunyai Gateway API, penghalaan, pengimbangan beban dan fungsi lain 5. Config, untuk pengurusan konfigurasi.

Idea Apakah kaedah biasa untuk springboot springCloud hot loading dan hot debugging? Idea Apakah kaedah biasa untuk springboot springCloud hot loading dan hot debugging? May 18, 2023 pm 05:43 PM

Penerangan Senario Semasa proses pembangunan projek, apabila anda perlu mengubah suai dan nyahpepijat, anda sering perlu memulakan semula projek setiap kali, yang membuang masa Berikut adalah dua kaedah yang biasa digunakan yang telah saya susun (terutamanya untuk mod nyahpepijat). Klik Konfigurasi Permulaan=》editconfigrations...Ubah suai Kemas kiniclassesandresourceson'update'action di bawah konfigurasi: Kemas kini kekunci pintasan apabila pengguna aktif melakukan kemas kini: Ctrl+F9onframedeactication: Apabila tetingkap edit hilang fokus

Perbezaan antara SpringCloud dan SpringBoot dari perspektif seni bina Perbezaan antara SpringCloud dan SpringBoot dari perspektif seni bina Dec 29, 2023 pm 04:13 PM

Perbezaan antara Spring Cloud dan Spring Boot dari perspektif seni bina Pengenalan: Dalam era Internet hari ini, membina sistem teragih telah menjadi keperluan yang diperlukan. SpringBoot dan SpringCloud dilahirkan untuk memenuhi keperluan ini. Walaupun kedua-duanya adalah penyelesaian yang disediakan oleh rangka kerja Spring, terdapat beberapa perbezaan penting dari perspektif seni bina. Artikel ini akan bermula dari perspektif seni bina dan menganalisis SpringBoot dan SpringCl.

Apakah perbezaan antara springcloud dan springboot Apakah perbezaan antara springcloud dan springboot Dec 28, 2023 pm 03:34 PM

Perbezaan antara springcloud dan springboot: 2. Penggunaan; 4. Tujuan; dan operasi dan penyelenggaraan. Pengenalan terperinci: 1. Fungsi Fungsi utama Spring Boot adalah untuk menyediakan cara yang cepat untuk pembangunan perkhidmatan mikro, memudahkan fail konfigurasi dan meningkatkan kecekapan kerja Spring Cloud ialah rangka kerja pengurusan yang komprehensif yang digunakan untuk menyediakan rangka kerja pengurusan yang komprehensif rangka kerja, dsb.

See all articles