学习Spring Cloud第六课(将微服务注册到Eureka Server上)
来源:互联网 发布:机房网络布线 编辑:程序博客网 时间:2024/05/22 16:02
上节课我们一起学习了如何搭建一个Eureka Server,这节课我们一起来学习一下如何将微服务注册到Eureka Server上。
关于如何操作Eureka,我们可以参考spring-cloud的官方文档,我们先访问spring-cloud的官网主页,如下图所示,目前官网Spring Cloud的最新版本是Camden SR5,我们开发用的也是最新版本,因此我们要查看的文档也是最新版本的文档,我们点击"Reference"。
点击上图Camden SR5后面的"Reference"之后,我们可以看到如下图所示的界面,我们点击左侧导航树中的"Spring Cloud Netflix",该树形下有注册所需要的步骤,第一步便是"How to include Eureka Client",便可以看到下图中右侧的内容,在蓝色圈住的内容中说明了如何在pom.xml文件中将服务注册到Eureka Server当中。
第一步:我们先把user服务注册到Eureka当中,我们打开user服务的pom.xml文件,添加一个依赖,如下图所示。
第二步:在启动类中添加@EnableEurekaClient,官网说明如下图所示。@EnableEurekaClient这个注解只用于Eureka做为服务发现组件,而@EnableDiscoveryClient则可用于所有的服务发现组件(包括ZK、Consul等)
既然知道了要在启动类中添加注解,那么我们便打开user微服务的启动类并添加相应的注解如下图所示。
第三步:在application.yml配置文件中添加相关配置,官网说明如下图所示。
我们把这段配置粘贴到user微服务的application.yml文件当中,如下图所示。
下面我们启动用户微服务(到启动类中启动,注意:这时eureka工程要保持启动),启动完之后,我们再次访问http://localhost:8761,如下图所示。
从上图可以看到有几个问题,其中第一个问题就是Eureka进入了自我保护模式,自我保护模式是Eureka的重要特性。进入自我保护模式是最直观的体现,是Eureka Server首页输出的警告。关于自我保护模式大家可以参考:http://www.itmuch.com/spring-cloud-sum/understanding-eureka-self-preservation/#more这篇博客进行学习。
由于单机模式经常会因为环境问题使Eureka进入自我保护模式,因此我们先关闭Eureka的自我保护功能并配置Eureka Server清理无效节点的时间间隔。如下图所示。
服务发现的第二个问题便是注册的实例名称显示的是"UNKNOWN",第三个问题是在状态一列默认显示的是UP(1)-localhost:7900,鼠标放到状态之上不会显示出IP地址。这两个问题可以通过在application.yml中配置进行解决,如下图所示。spring.application.name=microservice-provider-user这句配置可以解决第二个问题,eureka.instance.prefer-ip-address=true这句配置可以解决第三个问题。
配置完之后,我们重新启动eureka server和user微服务,这时我们再访问http://localhost:8761,如下图所示,可以看到我们的user微服务已经被成功注册进来了。
下面我们看一下用户认证的问题,我们从上面看到我们访问http://localhost:8761直接便可以访问到界面,这明显不符合安全。那么我们如何配置才能让用户输入用户名和密码后进行登录呢?
1.在eureka工程的application.yml文件中添加如下图右侧红色框住的配置,修改defaultZone访问链接地址。
2.打开eureka工程的pom.xml文件并添加如下图红色框住的依赖。
修改完之后我们重启eureka server,我们再访问http://localhost:8761,这时便需要我们先输入用户名和密码才能访问,如下图所示。
我们在上图输入完用户名user和密码password123之后,便可以访问到eureka首页了,如下图所示(由于我已经关掉了user微服务,因此现在eureka上没有任何实例)
由于上面eureka server已经添加了用户认证,这时如果我们直接启动eureka client(user微服务)的话会报错,我们也需要给客户端添加认证,方法是修改访问路径,如下图所示(访问路径与eureka server配置的一样)。
这时我们再启动user微服务,启动成功后我们再访问http://localhost:8761,可以看到客户端已经成功在eureka server上显示了。
下面我们来看看Spring Boot应用的健康监控,所用到的库是spring-boot-starter-actuator,这个库让我们可以访问应用的很多信息,包括:/env、/info、/metrics、/health等。
我们在user微服务的pom.xml文件中添加如下图所示的依赖。
添加完上面的依赖之后,我们重新启动user微服务,在启动信息中我们可以看到和以前启动不一样的一些信息,如下图所示,这些都是健康检查的访问路径。
我们以其中的health为例,我们可以访问地址:http://192.168.153.1:7900/health(注意:192.168.153.1是我电脑的IP,大家的IP都不一样,用自己的IP访问即可),如下图所示,可以看到一些health方面的检查信息。当然,我们还可以查看其它一些信息,这里就不一一举例了。
下面我们来学习一下如何去得到eureka server的服务实例,我们需要在Controller类加入以下内容。
我们重新启动user微服务,启动后访问地址:http://192.168.153.1:7900/eureka-instance,我们可以看到如下图所示的界面,我们发现确实得到了eureka server的服务路径。
下面我们再在Controller类中添加一个访问方法,如下图所示。
重新启动user微服务,然后我们访问路径:http://192.168.153.1:7900/instance-info,可以看到如下图所示的信息,可以发现,我们获得的信息更多。
我们还可以在eureka客户端配置安全检查,但前提是配置了pom依赖中配置了spring-boot-starter-actuator(我们已经在user微服务配置过了),我们在user微服务的application.yml中配置安全检查,如下图所示。
下面我们把movie微服务也注册到eureka中,首先我们在movie的application.yml文件中做如下配置
接着我们修改movie微服务的pom文件,如下图所示,添加红色框住的依赖。
下面我们需要在movie的启动类中添加注解,如下所示。
下面我们便启动movie微服务,然后访问eureka首页,可以看到如下图所示的界面,可以看到现在user和movie微服务都已经成功注册到eureka服务上来了。
本节课我们便一起学习到这里。
- 学习Spring Cloud第六课(将微服务注册到Eureka Server上)
- 学习Spring Cloud第六课(将微服务注册到Eureka Server上)
- SpringBoot--将微服务注册到Eureka Server上
- SpringCloud(四):将微服务注册到Eureka Server
- spring cloud-将spring boot服务注册到Eureka Server上
- Spring Cloud微服务(2)之 注册中心Eureka
- 微服务基础设施之服务注册中心: Spring Cloud Eureka
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)[Dalston版]
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)
- Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
- EurekaClient获取注册到Eureka上的微服务信息
- 学习Spring Cloud第五课(Eureka简介与Eureka Server示例)
- 学习Spring Cloud第五课(Eureka简介与Eureka Server示例)
- 干货实操:微服务Spring Cloud 系列(二) Eureka服务发现与服务注册(strand alone)
- Spring Cloud-Eureka注册发现高可用(学习实践)
- Spring Cloud学习---服务注册与发现(Eureka)
- JAVA使用JDBC连接MySQL数据库
- 学习Spring Cloud第五课(Eureka简介与Eureka Server示例)
- java开发过程中遇到的csv文件生成和导出
- 云端Mysql数据库query语句过长的问题
- ZooKeeper 客户端操作
- 学习Spring Cloud第六课(将微服务注册到Eureka Server上)
- win7中安装ipython,并设置环境变量
- 栈的链式存储结构
- Vue2+VueRouter2+webpack 构建项目实战(五)配置子路由
- Lisp学习--Windows下面的开发环境搭建
- pow函数,gets输入数字后的处理
- 浅谈对协程的理解
- 学习Spring Cloud第七课(Ribbon的基本使用)
- java注解的使用方法