Spring cloud是微服务的框架(工具箱)。 主要是基于spring boot 封装了Netflix框架。
Netflix框架:
一、构建Spring boot
Spring boot是帮助我们快速构建项目的框架。(系统配置,基础代码,项目依赖,用到的web容器,都准备好了。)
构建好maven项目,引入pom依赖
之后新建一个main 启动类,就可以使用了。你会发现依赖了很多tomcat、hibernate等等类。
run application即可。你会发现tomcat启动。
注意:需要jdk1.8如果不是可能会version报错。
要想访问需要编写controller。
我们返回一个对象。
该restController是controller和responseBody的一个集合。produces是声明返回的格式。这里用json字符串。
我们访问后,结果如下。
spring boot的配置文件
默认去4个地方读取配置文件,application.properties或者application.yml
如果都存在第一幅图,根目录的config是优先级最高的。其次是图二,根目录application。同一属性不会覆盖。当然4个不同属性,在4个文件,都可以读到。
获取配置文件的属性。
自定义的配置文件,作为spring boot的启动文件。
yml是一种更加可读的配置文件。
这里是2个空格不能按tab。 等价于 test.user.id = 123
我们启动的时候,
使用spring的profiles 你在windows启动就读取下面的。
这些内置的属性特别多,查看官方文档。https://docs.spring.io/spring-boot/docs/
二、运行一个Eureka服务管理框架
通过rest来将服务端和客户端通信。将业务组件注册到这。
我们需要3个角色。
第一个是提供服务者。第二个是服务管理者。第三个是使用者。
1.搭建服务管理者。
我们从官网查找spring cloud的依赖。
下面的spring-cloud-starter-eureka是客户端。服务端我们需要去文档中找。
配完之后
因为基于spring boot我们先编写一个启动类。按文档说的
这里eureka服务器将自己作为客户端来进行注册而报错。我们要配置来禁用注册。
还有报错是要去服务器抓取 注册信息。
配置完之后
客户端默认注册8761端口。允许即可。
2.搭建服务提供者。
使用客户端依赖。
创建一个启动类。
按文档配置,配置完之后
它要提供服务,我们新建一个服务
配置文件,告诉客户端去哪里注册。
我们先启动Eureka服务器,然后启动该服务提供者。我们来看Eureka服务器,localhost:8761。
3.搭建使用者。
统一添加依赖。除服务提供者的依赖之外,增加ribbon(负载均衡)依赖。
使用者不管你,服务提供者有多少个服务实例。里面有负载均衡的功能。
然后与服务提供者一样的配置、
需要注册,去服务器拿服务。
我们来创建一个controller,调用人工服务。
RestTemplate是一个调用rest服务的工具类。增加@Bean和@LoadBalanced注解。该RestTemplate具有调用负载均衡的功能。
访问成功!