Eureka(二)使用配置详解

Eureka(二)使用配置详解,第1张

最近在做一个基于cloud的项目。以前用dubbo的我第一次接触cloud觉得简直方便的不得了。尤其是看一个实操视频。除了主播磨磨唧唧的搭建基础项目的时间。感觉整个项目干货一个小时都能提炼出来。。

真正开始做了的时候,基于钻研探索的精神。因为视频中和大多数网上帖子中eureka的配置一般只有短短四行(不是夸张。真的是只有四行)。所以我不管是脑抽还是热爱学习,反正是想找找一共eureka配置参数都有什么。。然后顺便写个文章记录下使用过程。

这里有一个特别注意的问题就是cloud 和boot和各种组件的版本问题。我在这提一下因为这个是我踩过的坑~~~所以先提一下。

eureka分两种配置:

1,依赖(我这里用的spring boot1.5.21版本,所以和2以后的不一样):

2,在启动类上添加服务端注解(关于这个注解有的版本哪怕不添加也会默认):

3,在配置文件中配置eureka服务端的相关配置:

这里说到重头戏了,其实必须配置的也就三四条。剩下都是可选项。我会在每一条后面特别声明是否必须配置的。

1,依赖(我这里用的spring boot1.5.21版本,所以和2以后的不一样):

这里要着重说一下,第一个依赖是作为eureka的客户端的依赖。第二个则是feign的依赖,用于服务之间相互调用的。我觉得很有必要所以一起放在这里,如果有的人觉得用不到第二个可以不导入。

2,在启动类上添加客户端注解(关于这个注解有的版本哪怕不添加也会默认):

3,在配置文件中配置eureka客户端的相关配置:

对了,这里有两个注意点:

    -更改Eureka更新频率将打破服务器的自我保护功能,生产环境下不建议自定义这些配置。

    -eureka.client.healthcheck.enabled=true 只应该在application.yml/properties中设置。如果设置在bootstrap.yml中将会导致一些不良的副作用,例如在Eureka中注册的应用名称是UNKNOWN等。

到这里你们用eureka搭建的boot+cloud微服务已经可以起来啦~~然后此文主要是参考了一个帖子~~那么大佬把eureka的所有属性从官网文档整理出来的~~~膜拜一波~~~然后有兴趣的可以跳转过去看看~~~

eureka参数大全

然后如果有比较了解的亲们或者说我上述观点哪里有偏颇~~欢迎指出~~!!!

喏,手打不易,大家动动小手喜欢分享转发关注评论啥的~~~~

将SpringCloud集成Eureka服务部署在阿里云服务器。

项目在上一篇博客讲过在本地测试SpringCloud集成Eureka服务,博客地址:

https://www.jianshu.com/p/78e8797ea804 ,现在将3个项目部署在阿里云服务器,环境是CentOS7,Tomcat 9。

在pom.xml文件里设置打包方式:

在启动Application类添加:

在application.properties配置文件修改:

直接把项目lean下,再package:

打包后的war包在target目录下:

修改pom.xml依赖:

程序入口application类修改:

消费者的api请求路径修改:

application.properties修改

直接对项目lean,再package:

3.Eureka Client项目demo打包跟1类似,这就不重复写了;

3个项目打包好的包名:springcloud-eureka.war,springcloud-eureka-client-one.war,springcloud-eureka-client-one.war:

4.将3个war部署阿里云服务器

登录阿里云的白塔控制面板,将3个包上传到Tomcat的webapps文件夹下:

或者通过xftp工具上传也可以;

上传完后,重启Tomcat,等一会,就可以在浏览器里访问:

相关链接:

成功截图:

使用Eureka做服务发现

Zookeeper做注册中心的缺陷

Peter Kelley(个性化教育初创公司Knewton的一名软件工程师)发表了一篇文章说明为什么ZooKeeper用于服务发现是一个错误的做法,他主要提出了三个缺点[1]:

ZooKeeper无法很好的处理网络分区问题,当网络分区中的客户端节点无法到达Quorum时,会与ZooKeeper失去联系,从而也就无法使用其服务发现机制。

服务发现系统应该是一个AP系统,设计上针对可用性;而ZooKeeper是一个CP系统。

ZooKeeper的设置和维护非常困难,实际操作的时候也容易出错,比如在客户端重建Watcher,处理Session和异常的时候。

当然,Peter Kelley提出的这几个问题并不是不能克服的,并不能说明基于ZooKeeper就不能做好一个服务发现系统,但是我们可能有更简洁的方案来实现。

Eureka介绍

什么是Eureka

官方的介绍在这里Eureka wiki。Eureka是Netflix开源的一个RESTful服务,主要用于服务的注册发现。Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。

在我看来,Eureka的吸引力来源于以下几点:

开源:大家可以对实现一探究竟,甚至修改源码。

可靠:经过Netflix多年的生产环境考验,使用应该比较靠谱省心

功能齐全:不但提供了完整的注册发现服务,还有Ribbon等可以配合使用的服务。

基于Java:对于Java程序员来说,使用起来,心里比较有底。

spring cloud可以使用Spring Cloud, 与Eureka进行了很好的集成,使用起来非常方便。

Eureka架构

Netflix主要是在AWS中使用Eureka的,虽然同时也支持本地环境,但是了解AWS的一些基础概念对于理解Eureka的设计非常有帮助。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/699911.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-03
下一篇2023-08-03

发表评论

登录后才能评论

评论列表(0条)

    保存