Spring Cloud学习(一)——注册中心的配置搭建

SpringCloud的简介

引用出处:楠哥教你学Java中SpringCloud快速上手笔记

1、单体应⽤存在的问题

随着业务的发展,开发变得越来越复杂。
修改、新增某个功能,需要对整个系统进⾏测试、重新部署。
⼀个模块出现问题,很可能导致整个系统崩溃。
多个开发团队同时对数据进⾏管理,容易产⽣安全漏洞。
各个模块使⽤同⼀种技术进⾏开发,各个模块很难根据实际情况选择更合适的技术框架,局限性很
⼤。
模块内容过于复杂,如果员⼯离职,可能需要很⻓时间才能完成⼯作交接。

2、分布式、集群

集群:⼀台服务器⽆法负荷⾼并发的数据访问量,那么就设置⼗台服务器⼀起分担压⼒,⼗台不⾏就设
置⼀百台(物理层⾯)。很多⼈⼲同⼀件事情,来分摊压⼒。
分布式:将⼀个复杂问题拆分成若⼲个简单的⼩问题,将⼀个⼤型的项⽬架构拆分成若⼲个微服务来协
同完成。(软件设计层⾯)。将⼀个庞⼤的⼯作拆分成若⼲个⼩步骤,分别由不同的⼈完成这些⼩步
骤,最终将所有的结果进⾏整合实现⼤的需求。
服务治理的核⼼⼜三部分组成:服务提供者、服务消费者、注册中⼼。
在分布式系统架构中,每个微服务在启动时,将⾃⼰的信息存储在注册中⼼,叫做服务注册。
服务消费者从注册中⼼获取服务提供者的⽹络信息,通过该信息调⽤服务,叫做服务发现。
Spring Cloud 的服务治理使⽤ Eureka 来实现,Eureka 是 Netflix 开源的基于 REST 的服务治理解决⽅
案,Spring Cloud 集成了 Eureka,提供服务注册和服务发现的功能,可以和基于 Spring Boot 搭建的
微服务应⽤轻松完成整合,开箱即⽤,Spring Cloud Eureka。

SpringCloud的上手搭建

1、配置父工程的pom文件

在SpringBoot的基础上增加SpringCloud

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE	</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--&lt;!&ndash; 解决 JDK 9 以上没有 JAXB API 的问题 &ndash;&gt;-->
        <!--<dependency>-->
            <!--<groupId>javax.xml.bind</groupId>-->
            <!--<artifactId>jaxb-api</artifactId>-->
            <!--<version>2.3.0</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>com.sun.xml.bind</groupId>-->
            <!--<artifactId>jaxb-impl</artifactId>-->
            <!--<version>2.3.0</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>com.sun.xml.bind</groupId>-->
            <!--<artifactId>jaxb-core</artifactId>-->
            <!--<version>2.3.0</version>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>javax.activation</groupId>-->
            <!--<artifactId>activation</artifactId>-->
            <!--<version>1.1.1</version>-->
        <!--</dependency>-->
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
2、在父工程下创建子工程module

在子工程中加入eureka server的包,从而

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
    </dependencies>
3、创建application.yml配置文件,添加Eureka Server的相关配置
server:
  port: 8761
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:8761/eureka/

属性说明
1、server.port :当前 Eureka Server 服务端⼝。
2、eureka.client.register-with-eureka :是否将当前的 Eureka Server 服务作为客户端进⾏注册。
3、eureka.client.fetch-fegistry :是否获取其他 Eureka Server 服务的数据。
4、eureka.client.service-url.defaultZone :注册中⼼的访问地址。

4、创建启动类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class,args);
    }
}

注解说明:
1、@SpringBootApplication :声明该类是 Spring Boot 服务的⼊⼝。
2、@EnableEurekaServer :声明该类是⼀个 Eureka Server 微服务,提供服务注册和服务发现功能,即注册中⼼。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值