• Spring Cloud(一)Eureka注册中心


    一、引言

      写这篇文章时心情还是比较激动的,以前用习惯了Dubbo,一直觉得Spring Cloud这一套组件相当的多,学起来有点慌... 

      随着技术潮流的递进,Spring Cloud生态已经逐渐成为主流的分布式系统解决方案,包括我们最近的项目终于开始用Spring Cloud了,那么学习势在必行,公司的实现代码不方便直接贴出来,所以这里我从0开始搭建一整套Spring Cloud的基础架构,来记录一下我的学习过程。

      PS:Spring Cloud相关的概念我就不一一解释了,网上一搜一大堆。其实能看到Spring Cloud的小伙伴应该对分布式系统都会有自己的理解了,所以我这里废话不多说,直接上实现代码~

    二、Eureka注册中心

      注册中心主要是在分布式系统中扮演着服务治理与发现等角色,相关的实现有很多,比如我们之前说过的Zookeeper呀,Nacos,Eureka等等,这篇文章我们来学习Eureka,因为其AP的特性【可用性、分区容错性】以及CS的模式【客户端-服务端】,也是Spring Cloud官方推荐的,所以我们学就完事了~

      搭建Eureka注册中心之前首先要创建一个Spring Boot工程,步骤就不放出来了,结构如下:

    pom.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     4     <modelVersion>4.0.0</modelVersion>
     5     <groupId>com.zhbf</groupId>
     6     <artifactId>euraka</artifactId>
     7     <version>0.0.1-SNAPSHOT</version>
     8     <name>euraka</name>
     9     <description>注册中心【有梦想的肥宅】</description>
    10 
    11     <parent>
    12         <groupId>org.springframework.boot</groupId>
    13         <artifactId>spring-boot-starter-parent</artifactId>
    14         <version>1.5.6.RELEASE</version>
    15         <relativePath/>
    16     </parent>
    17 
    18     <properties>
    19         <java.version>1.8</java.version>
    20         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    21         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    22         <spring-boot.version>1.5.6.RELEASE</spring-boot.version><!--Spring Boot版本-->
    23         <spring-cloud.version>1.4.6.RELEASE</spring-cloud.version><!--Spring Cloud版本-->
    24     </properties>
    25 
    26     <dependencyManagement>
    27         <dependencies>
    28             <!--指定下载源和使用Spring Boot的版本-->
    29             <dependency>
    30                 <groupId>org.springframework.boot</groupId>
    31                 <artifactId>spring-boot-dependencies</artifactId>
    32                 <version>${spring-boot.version}</version>
    33                 <type>pom</type>
    34                 <scope>import</scope>
    35             </dependency>
    36             <!--指定下载源和使用Spring Cloud的版本-->
    37             <dependency>
    38                 <groupId>org.springframework.cloud</groupId>
    39                 <artifactId>spring-cloud-dependencies</artifactId>
    40                 <version>Edgware.SR5</version>
    41                 <type>pom</type>
    42                 <scope>import</scope>
    43             </dependency>
    44         </dependencies>
    45     </dependencyManagement>
    46 
    47 
    48     <dependencies>
    49         <!--引入Spring Boot依赖-->
    50         <dependency>
    51             <groupId>org.springframework.boot</groupId>
    52             <artifactId>spring-boot-starter</artifactId>
    53         </dependency>
    54         <!--引入lombok-->
    55         <dependency>
    56             <groupId>org.projectlombok</groupId>
    57             <artifactId>lombok</artifactId>
    58             <optional>true</optional>
    59         </dependency>
    60         <!--引入Spring Cloud的Eureka依赖-->
    61         <dependency>
    62             <groupId>org.springframework.cloud</groupId>
    63             <artifactId>spring-cloud-starter-eureka-server</artifactId>
    64             <version>${spring-cloud.version}</version>
    65         </dependency>
    66     </dependencies>
    67 
    68 
    69 </project>
    View Code

    application.yml

    #应用名称
    spring:
        application:
            name: EUREKA
    
    #服务端口
    server:
      port: 9090
    
    #Eureka配置
    eureka:
        client:
            service-url:
                defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka #eureka服务端配置
            register-with-eureka: false #不向eureka注册自己
            fetch-registry: false #不向eurek获取服务列表
        instance:
            hostname: 127.0.0.1

    EurakaApplication.java【启动类】

    @SpringBootApplication
    @EnableEurekaServer //开启Eureka服务端
    public class EurakaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(EurakaApplication.class, args);
        }
    
    }

    启动Eureka

  • 相关阅读:
    五种Sublime text 3同时快速编辑多行内容
    update 更新某个字段自动加1
    oracle 一行记录被锁
    事件
    练习题1
    语法
    开始js
    js简述
    概述
    软连接
  • 原文地址:https://www.cnblogs.com/riches/p/15246121.html
Copyright © 2020-2023  润新知