上一篇文章已经说明了一下,关于spring boot创建maven项目的简单步骤,相信很多熟悉Maven+Eclipse作为开发常用工具的朋友们都一目了然,这篇文章主要讲解一下,构建spring boot+spring cloud实现微服务的框架搭建过程,不过在此之前我们要先了解一下spring boot+spring cloud服务框架的功能组建和一些常提起的概念。
1:注册中心,spring boot+spring cloud使用Eureka作为服务的注册中心,早dubbo+zookeeper的微服务中也常使用zookeeper作为服务的注册中心
2:服务治理,和服务的调度
3:客户端负载均衡(包括常用的三种负载均衡策略)
4:服务远程调度的容错保护,即电路设计中所说到的保险丝(熔断机制)
5:spring cloud的声明式远程调度
6:服务路由和服务的转发
笔者这里个人感觉作为spring boot+spring cloud构建的微服务,熟悉上面几点的概念,然后带着框架的概念再去有点有面的看框架设计的本质,起全局性和概括性都了然于胸。
好了废话不多说下面我们开始创建spring boot+spring cloud的微服务吧。
(声明:JDK 1.8,spring boot:1.5.10.RELEASE,spring cloud:Edgware.SR2)
一:创建服务的注册中心
File---->new----->other
如下图,我们选择Eureka Discov,和Eure Server两个模块的组件。搭建完成我们来看一下搭建完成后,我们来看一下搭建好的项目目录结构,以及项目所使用到的maven组件间的相互依赖。
注:这里为什么要多啰嗦几句,来说明一下为什么,因为再使用maven作为jar包间的相互依赖,常常会出翔jar包版本的冲突,spring boot和spring cloud就有版本的冲突。不过Eclipse再我们选择spring Boot版本的时候就帮我们选定了最兼容的版本,这里小伙伴本要特别注意。不然踩到坑了你会很痛苦。所有在别人项目里跑的66的代码到你这里就变得四面楚歌。
这是项目的结果图,再上一篇文章中我们介绍过了,这里就不过多的介绍,我们看看注册中心的代码,如下,蓝色部分,需要我们加上注册中心的注解表示。@EnableEurekaServer
我们看看maven的jar包依赖
下面是,application.properties的配置文件。
为方便搭建的复制粘贴这里直接贴上代码如下,
#设置注册中心端口
server.port=8000
#注入的服务应用名称
spring.application.name=registry-center
#安全认证
security.basic.enabled=true
security.user.name=top-registry-center
security.user.password=123456
security.user.role=admin
eureka.instance.hostname=peer1
#关闭注册中心,注册自己到本地服务
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#注册中心控制台地址
#eureka.client.serviceUrl.defaultZone=http://114.55.73.147:18020/eureka/
#无关紧要的注册中心配置信息,标记注册中心的健康信息
eureka.instance.statusPageUrlPath=/info
eureka.instance.healthCheckUrlPath= /health
下面我们,启动main方法
RegistryCenterApplication,如下所示,我们发现多了spring Boot App,我们选中启动
然后浏览器打开:输入local host:8000
最后补充一点,看看如下笔者另外的一个访问路径:peer1:8000,
这里是要配置windows的host主机名作为映射的。
如下所示:
我们看到127.0.0.1 localhost映射的就是我们的本机的地址
我们在这里多加一下peer1的注册中心地址配置