SpringCloud简介
springCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。
SpringBoot(学习)旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能。
在这里,我们需要用的的组件是Spring Cloud Netflix的Eureka。
Netflix Eureka
Netflix Eureka:云端负载均衡,一个基于 REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。
好了,进入正题。
首先,我用的IDE是STS(下载页面)
创建一个服务(server)
点击Finish,完成项目的创建,这里不做项目结构的描述。
这里我把主配置文件改为了yml后缀,eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。
加入以下配置:
在主程序入口添加@EnableEurekaServer注解
启动,输入localhost:8761
至此,Eureka Server配置成功!
创建一个服务(client)
当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除。
创建过程同server类似。
application.yml文件如下:
主程序入口添加@EnableEurekaClient注解。
启动。输入server路径:localhost:8761
你会发现一个服务已经注册在服务中了,服务名为SERVICE-HI
打开http://localhost:8762/getHi
完成了!