`

spring cloud系列教程第六篇-eureka集群版

spring cloud系列教程第六篇-eureka集群版

本文主要内容:

本文来源:本文由凯哥java(kaigejava)发布在iteaye博客的。转载请注明

1:eureka执行步骤理解

2:集群原理

3:eureka集群搭建

4:修改payment和order项目注册到集群中

本文是由凯哥(凯哥java:kagejava)发布的《spring cloud系列教程》教程的总第六篇:《spring cloud系列教程第六篇-eureka集群版》。

本文是几个维度中的第一个维度:注册与发现维度配置中心管理之eureka相关教程第三篇。

spring cloud系列教程第六篇-买球官网平台

 

服务注册:将服务信息注册到注册中心

服务发现:从注册中心上获取到服务信息

其实质就是:key-value形式的。key:服务的名字 value:服务调用地址

执行步骤:

1:先启动eureka注册中心

2:启动服务提供者(我们这里的服务提供者就是payment支付服务)

3:服务提供者在启动后会把自身的信息(如服务地址,以别名方式注册到)注册到eureka中

4:消费者(我们这里是order服务)在需要调用接口的时候,使用服务别名去注册中心获取到实际的rpc远程调用地址

5:消费者获取到调用地址后,底层实际是利用httpclient技术实现远程调用的

6:消费者获得服务地址后会缓存在本地的jvm内存中,默认每隔30秒更新移除服务调用地址。

问题:微服务rpc远程调用最核心的是什么?

高可用。试想下,如果你的注册中心有且仅有一个 only one.那么,如果注册中心故障了,那就呵呵了,会导致整个服务的不可用。后果可是很严重的。所以,解决办法就是:搭建eureka注册中心集群。实现负载均衡 故障容错(其实从上图中也可以看出,eureka server是多个,provider也是多个)

互相注册,相互守望

什么意思呢?集群的话,肯定是多个。比如我们现在单台的eureka端口是7001,假设还有一台服务是7002.那么7001的注册地址应该是7002,7002的注册地址是7001.这样就相互注册了。7001会每30s给7002同步一次心跳,同理7002也会的。所以就相互守望了。

简单的示意图如下:

 

3.1:新建cloud-eureka-server7002项目。作为第二台eureka服务

3.2:修改pom.将7001的pom中相关依赖复制到7002中

3.3:修改hosts文件。添加两个映射:

 

修改后的hosts:

 

3.4:修改yml文件。

在修改yml文件的时候,需要注意:现在是多台eureka server。需要互相注册和相互守望。这个的写法和单机版的不一样了。我们先来看看单机版yml配置文件。

单机版yml文件配置:

 

集群的时候,因为要互相注册,相互守望。所以yml文件有些不同。

7001服务的yml不同地方:

 

7002的yml:

 

我们可以看到hostname和defaultzone不同了

配置完成之后,启动7001和7002,访问两个连接查看有什么不同

 

我们可以看到,ds replicas的不同。

当我们访问7001的时候,可以看到ds列表是eureka7002说明我们集群配置已建成成功了。

本文教程相关代码版本号:v0.0.9-20200504

 

接下来,我们就要修改payment和order这两个微服务,将这两个微服务注册到eureka集群中。欢迎大家和凯哥(凯哥java:kaigejava)继续一起学习。

4.1:payment修改

只需要修改payment8001的yml文件中,和eureka相关的配置即可。

我们开看看单机版的时候配置:

eureka.client.service-url.defaultzone是localhost的。如下图:

 

进行修改:

 

order80的修改一样。

配置完成之后,启动服务进行测试。

启动顺序:

先启动注册中心服务:eurekasever 7001/7002服务

再启动服务提供者:payment8001服务

再启动服务提供者:payment8001服务

访问根据订单id获取连接,查看返回信息

查看7001上注册的eureka客户端:

 

查看7002上客户端:

 

我们发现这两个注册中心都有order server和payment server服务。说明我们服务已经成功注册到集群中了。

查看访问效果:

 

可以正常访问。说明集群搭建及服务注册到集群中成功。

 

0
1
分享到:
|
评论

相关推荐

    spring-cloud-starter-netflix-eureka-server-1.4.5.release.jar

    spring-cloud-starter-eureka-server-1.4.5.release.jar

    eureka修改增加页面操作,用于多人开发测试操作流程。可以更好的进行协调操作,只需要替换本地仓库的jar包就行

    spring cloud教程第一季-spring cloud netflix-第03节-服务注册和服务发现-eureka的深入了解

    黑马程序员-springcloud-学习笔记-03-eureka注册中心

    spring-cloud-netflix-eureka-server-1.4.5.release.jar

    使用springboot搭建的一个基础服务框架,里面主要使用了netflix的eureka、ribbon,是个学习和了解的框架

    springcloud-服务注册与实现-eureka创建服务提供者示例源码

    spring-cloud-eureka集群的搭建.zip 两个eureka或多个eureka注册中心集群的搭建简单配置

    最新版本的springcloud微服务实战,老版本与新版本差异较大,按照老的文章去使用新版本会有很多bug。

    springcloud1.5x eureka 注册中心代码,项目编译后可以直接运行。相关配置已经优化,可以直接使用。

    spring-cloud-netflix-eureka-client-1.4.5.release.jar

    springcloud-服务注册与实现-eureka示例代码-服务注册与发现

    spring-cloud-eureka spring cloud(一)服务的注册与发现(eureka) spring-cloud-consul spring cloud(二) consul 服务治理实现 spring-cloud-ribbon spring cloud(三) 服务提供者 eureka ...

    springcloud-eureka-feign-mybatis-seata.zip,springcloud-eureka-feign-mybatis-seata,pom.xml,account-server,pom.xml,target,test-classes,io,seata,sample,accountserverapplicationtests.class,maven-status,...

    spring-cloud-config-eureka-bus:配置中心和消息总线示例(配置中心终结版) gateway-service-zuul:spring cloud zuul使用初级篇 网关 均衡负载 spring-cloud-zuul:spring cloud zuul使用高级篇 filter 鉴权 熔断...

    springcloud-2.0-eureka-service-10000.zip 属于 eureka注册中心创建的源码

    idea环境,springboot整合springcloud项目,并且解决springcloud导包出现unknown问题

    整合教程地址https://blog.csdn.net/qq_36691683/article/details/82699082

    springboot框架 springcloud-eureka搭建 springcloud0-zuul搭建代码,可以帮助新手搭建,才用的是为服务架构,但只是把架子打起来了,没有过多逻辑代码,参考学习下,希望对你们有帮助

global site tag (gtag.js) - google analytics