SpringCloud Hoxton——初探 & Eureka服务注册与发现

Posted 张起灵-小哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Hoxton——初探 & Eureka服务注册与发现相关的知识,希望对你有一定的参考价值。

1.开篇

我们都知道,之前有一套微服务叫做Dubbo+Zookeeper,Dubbo是一个RPC框架,是阿里巴巴的,但是后来阿里停止了对Dubbo的维护,并把Dubbo共享给了Apache,在这个节骨眼上,SpringCloud趁虚而入,于是,在微服务的领域火了起来。

SpringCloud官网:https://spring.io/projects/spring-cloud

SpringCloud的版本关系:Spring Cloud 采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版本。

SpringCloud是一个由许多子项目组成的综合项目,各子项目有不同的发布节奏。为了管理SpringCloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个SpringCloud版本对应的子项目版本。为了避免SpringCloud版本号与子项目版本号混淆,SpringCloud版本采用了名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序。例如Angel是第一个版本, Brixton是第二个版本。当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个"service releases"版本,简称SRX版本,比如Greenwich.SR2就是SpringCloud发布的Greenwich版本的第2个SRX版本。

下面这张图是SpringCloud和SpringBoot之间的版本关系。

这里,我跟随尚硅谷的教学视频,学习的是SpringCloud Hoxton和SpringCloud alibaba。

项目中的版本约定如下:

SpringCloud Hoxton:SR1

SpringCloud alibaba:2.1.0.RELEASE

SpringBoot:2.2.2.RELEASE

Java:jdk1.8

Maven:3.5及以上

mysql:5.7及以上


2.项目源码构建

github源码地址:https://github.com/2656307671/SpringCloud-Hoxton-Eureka-

gitee源码地址:https://gitee.com/szh-forever-young/spring-cloud-hoxton-eureka

这个微服务支付模块下面一共搭建了6个子模块。(Eureka集群的服务注册与发现)

  1. 公共实体类子模块cloud-api-commons
  2. Eureka Server端服务注册中心cloud-eureka-server7001(类似于教育部)
  3. Eureka Server端服务注册中心cloud-eureka-server7002(同7001)
  4. Eureka Client端服务提供者cloud-provider-payment8001(类似于北京大学,需要在教育部注册即可教学,注册完成即可对外提供招生等服务)
  5. Eureka Client端服务提供者cloud-provider-payment8002(类似于清华大学,需要在教育部注册即可教学,注册完成即可对外提供招生等服务)
  6. Eureka Client端服务消费者cloud-consumer-order80(类似于清华北大的学生,可以在服务提供者各大学中进行消费)

这6个子模块的构建步骤无非就是这几步:建module、改pom、写yml、主启动类、业务类、测试。

创建完一个模块之后,最好使用maven中的install命令,将该工程发布到仓库,以便其他工程使用。

测试的时候,一定要实现热部署。6个子模块的启动顺序:2、3、4、5、6

测试结果如下:(分别是7001、7002两个注册中心的首页,以及服务消费者的访问)

以上是关于SpringCloud Hoxton——初探 & Eureka服务注册与发现的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud Hoxton——Hystrix服务降级/熔断/限流

SpringCloud Hoxton——Hystrix服务降级/熔断/限流

SpringCloud Hoxton——OpenFeign服务接口调用

SpringCloud Hoxton——OpenFeign服务接口调用

SpringCloud Hoxton——Gateway服务网关

SpringCloud Hoxton——Gateway服务网关