玩转SpringCloud

来源:互联网 发布:我是歌手有网络直播吗 编辑:程序博客网 时间:2024/05/23 18:31

玩转SpringCloud - 01 创建项目

  • 玩转SpringCloud - 01 创建项目
    • 简介
    • 测试工具
    • 项目构建
      • 构建EurekaService
      • 构建EurekaDiscovery

0. 简介

Spring Cloud为开发人员提供了快速构建分布式系统中的一些通用模式(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式 会话,群集状态)。 使用Spring Cloud开发人员可以快速地站起来实现这些模式的服务和应用程序。 它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑。

SpringCloud 常用组件如下:
- 服务发现——Netflix Eureka
- 客服端负载均衡——Netflix Ribbon
- 断路器——Netflix Hystrix
- 服务网关——Netflix Zuul
- 分布式配置——Spring Cloud Config


1. 测试工具

  • Maven 3.5.0
  • Jdk 1.8.0_111
  • IDEA 2017.2.5

2. 项目构建

构建EurekaService

使用IDEA 的同学,可直接使用默认的创建方式。
这里写图片描述

选择File - new project - Spring Initializr , 点击Next。
这里写图片描述

填写Maven 项目信息,点击Next.
这里写图片描述

我们此次构建的项目为注册中心,所以勾选Eureka Server 组件,如果是服务者项目,则需要勾选Eureka Discovery 组件,项目构建时会自动进行添加依赖,点击Next 进行完成填写。

当前目录为:

--|cloudservice//省略无用的目录----|src------|main--------|java----------|com.demo.cloudservice------------|CloudServiceApplication.java--------|resources------------|application.preperties//省略src/test 下的测试类

现我们将application.preoperties文件名修改为application.yml
我们将使用YMAL 语言文本进行配置

  • 打开application.yml
server:  port: 8000eureka:  instance:    hostname: localhost  client:    register-with-eureka: false    fetch-registry: false    service-url:      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

port:项目启动端口号
hostname:注册中心绑定的地址
register-with-eureka:是否注册自己到注册中心(自身为注册中心,所以选择false)
fetch-registry:是否从注册中心获取注册信息(原因同上)
service-url:服务地址,一对键值,左侧名称,右侧为地址

  • 打开CloudserviceApplication.java
@EnableEurekaServer@SpringBootApplicationpublic class CloudserviceApplication {    public static void main(String[] args) {        SpringApplication.run(CloudserviceApplication.class, args);    }}

添加@EnableEurekaServer 注解,使此项目自动识别为EurekaServer 端,运行程序后,可在浏览器中输入http://localhost:8000 ,打开后可发现以下界面即可确定配置成功。
这里写图片描述

构建EurekaDiscovery

上面已经提到了勾选Eureka Discovery 组件,并在方法类上增加@EnableEurekaClient注解,修改yml 文件:

spring:  application:    name: eureka-clientserver:  port: 9000eureka:  client:    serviceUrl:      defaultZone: http://localhost:8000/eureka/
  • name:在注册中心注册的组件名称
  • port:运行端口号
  • serviceUrl:注册中心的地址

运行后即可发现,注册中心增加了名为eureka-client 的组件,如下图:
这里写图片描述