SpringCloud架构搭建及使用(一)

官方介绍SpringCloud

SpringCloud是微服务架构思想的一个具体实现方式,为开发人员提供了构建分布式系统的一些组件(服务注册与发现eureka、熔断器hystrix、分布式配置SpringCloud Config、网关Zuul、控制总线SpringCloud Bus等)。SpringCloud的开发是基于SpringBoot框架,可以将多个SpringBoot的应用(可以称作是微服务应用)集成起来,从而形成一个SpringCloud生态圈。

SpringCloud的组成

  • Spring Cloud Netflix
      是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。

  • Spring Cloud Config
      将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件

  • Spring Cloud Bus
      分布式消息队列,是对Kafka, MQ的封装

  • Spring Cloud Security
      对Spring Security的封装,并能配合Netflix使用

  • Spring Cloud Zookeeper
      对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用

  • Spring Cloud Eureka

    Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。


    使用IDEA进行SpringCloud架构搭建。(非常之简单!一定要耐心看)

需要提前安装好JDK和maven,并在IDEA里面配置上。此处就不多说了

创建SpringCloud的注册中心服务端模块

File>>New>>Module

SpringCloud架构搭建及使用(一)_第1张图片

点击下一步到这个窗口,选择SpringCloud Discovery>>Eureka Server

SpringCloud架构搭建及使用(一)_第2张图片

这样生成的maven项目里面自带eureka的服务依赖,需要手动添加springBoot的相关依赖(pom里面有关test的依赖可以删除)

 
      org.springframework.cloud
      spring-cloud-starter-netflix-eureka-server



       org.springframework.boot
       spring-boot-starter-web

在启动类上添加@EnableEurekaServer注解,表示该模块为eureka的服务端

package com.example.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }

}

此时启动的时候,注册中心端口号是8080,默认注册中心地址是localhost:8761/eureka/,启动报错如下

SpringCloud架构搭建及使用(一)_第3张图片

无法连接到默认的注册中心地址。

修改 resources资源包里面有application.properties配置文件,也可以修改为application.yml文件

在配置文件中添加该服务的端口,以及注册中心地址,注册中心地址的defaultZone一定要使用驼峰式,使用default-zone的有时无法识别。

##服务名称
spring.application.name=eureka
##端口
server.port=9001
##注册中心地址
eureka.client.service-url.defaultZone=http://localhost:9001/eureka/

再启动项目后,地址栏输入注册中心访问地址,如下,我们发现他本身向自己注册了(默认注册),可以通过配置文件不向注册中心注册自己

SpringCloud架构搭建及使用(一)_第4张图片

##是否向注册中心注册自己
eureka.client.register-with-eureka=false

修改后再次启动

SpringCloud架构搭建及使用(一)_第5张图片

到此,注册中心的服务端已经搭建好了。有木有非常简单!!因为SpringCloud官方已经封装的非常非常完全,只需要我们在pom中引入eureka服务端的依赖,在启动类加上eureka服务端的注解,在配置文件中修改一些自身属性,eureka服务端就完成了。

创建eureka客户端模块

与创建eureka服务端前面步骤类似,在选择创建类型时,选择Eureka Discovery Client

SpringCloud架构搭建及使用(一)_第6张图片

生成的项目中,自动添加了eureka客户端依赖,手动添加springBoot的相关依赖

   
         org.springframework.cloud
         spring-cloud-starter-netflix-eureka-client
   
    
   
          org.springframework.boot
          spring-boot-starter-web
   

启动类上添加@EnableEurekaClient或者@EnableDiscoveryClient,表示这个项目是作为eureka的客户端的(可以理解为就是我们业务模块的应用)

package com.example.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@EnableEurekaClient
@SpringBootApplication
public class ClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class, args);
    }

}

在配置文件中维护项目名称、端口、以及注册中心的地址

spring.application.name=clientApp
server.port=9002
eureka.client.service-url.defaultZone=http://localhost:9001/eureka/

启动客户端项目,刷新注册中心地址

SpringCloud架构搭建及使用(一)_第7张图片

到此erueka客户端项目也搭建好了,通eureka服务端一样,引入依赖,启动类添加注解即可。

上述是springCloude入门搭建,非常的简单,后续讲解如何使用。

在下也是在摸索阶段,有什么问题或者遗漏的地方欢迎大家及时指点

你可能感兴趣的:(SpringCloud架构搭建及使用(一))