菜鸟的微服务之旅(3)---springCloud(1)

上一节,我们大致上讲完了关于Springboot的基础入门。

那么接下来,就让我用简单的白话以及自己的理解来入门下springcloud。

springboot只能够用来应用开发,如果说要搭建一个完整的微服务架构,那么就还需要实现配置管理,服务发现,智能路由,断路器,微代理和控制总线等模块。而springcloud可以理解为是集成这一切的工具集。

我们的文章就是要一一介绍并简单实现各个springcloud模块的功能。

一,springcloud的简介

首先,我们理解几个概念

  • springcloud的特点在于它的集成性,集成大量优秀的开源框架到自身的框架中(使用方便,功能齐全,易于维护和扩展,适用于各种环境)
  • springcloud的命名规则不像其他spring项目用数字来区分版本号,他是通过英文字母的顺序,采用伦敦的“地名+版本”的方式来命名的,例如Angel SR6等,SR是Service Releases的缩写,是固定的写法,后面的数字是小版本号。

二,springcloud的服务发现模块(Erueka)

微服务架构中,有个很重要的模块,就是服务发现模块。这个模块主要是实现各个微服务实例的自动化注册与发现。spring-cloud-netflix提供了Eureka来实现服务的发现功能。

Eureka的服务发现机制包含三个角色:服务注册中心(Eureka Server),服务提供者(Eureka Client)和服务消费者(Eureka Client)。

流程:服务提供者要在运行时将自己提供的服务在服务注册中心注册,并周期性的发送心跳来更新服务,默认时间是30s,如果连续三次心跳都不能够发现服务,则从服务注册中心将该服务节点移除;而服务消费者在运行时会去注册中心获取服务列表,然后通过暴露的路径知道去哪里调用服务,服务消费者跟服务注册中心保持心跳连接,一旦服务提供者的地址发生变更,注册中心会通知服务消费者。

三,搭建springcloud工程(搭建开始)

1.创建一个maven父工程springcloud-parent,并在pom.xml加入springcloud的版本依赖信息

父工程中可以将src删除掉。pom.xml中的packing标签要改成pom方式

2.搭建服务端工程(父工程的module)

在父工程下创建maven子模块springcloud-eureka-server服务端工程,该模块是一个基础的springboot工程。

(1)添加依赖

pom.xml

(2)编写配置文件(在这里我们将application.properties改成application.yml,本文以yml配置文件为准(两者区别可自行了解))

application.yml

说明:

配置服务端工程的端口号为8761,所有实例都要在这个端口注册

本项目默认是注册中心,因此两个false是设置本项目不需要对自己进行注册和检索

最后defaultZone是注册中心的地址

(3)在自己的引导类加入注解@EnableEurekaServer标明类是一个Eureka Server

springcloudEurekaServerApplication.java

然后点击运行本项目  运行成功后访问注册中心地址(可见如下效果)

图中的no Instances avaliable 说明还没有实例注册

如果运行不成功,项目报错。可以考虑下是否是spring-boot-parent的版本兼容问题,可以修改版本到1.5.15RELESES版本,重新启动,即可成功启动(springclou由于都是多个开源项目集成,所以经常会有版本兼容的问题,如果遇到项目运行不成功,记得考虑下是否版本间出现兼容问题)

3.搭建客户端工程

在父工程下创建maven子模块springcloud-eureka-client服务端工程,该模块是一个基础的springboot工程。

(1)添加依赖

pom.xml

(2)编写配置文件

application.yml

说明:

指定Eureka实例的端口号8000

指定注册中心的地址

name指定应用名称

(3)在引导类添加注解@EnableEurekaClient标明该类是是一个Eureka客户端组件

(4)分别启动注册中心和该客户端项目  运行成功后 访问注册中心地址:

标明服务已经注册到注册中心。

本文留下个小测试:如何实现服务间的调用?

测试内容:新建一个maven子模块项目做一个order服务,然后注册到注册中心,由springcloud-eureka-client项目通过注册中心来调用oreder服务?答案下文会先回答~

 

----本文读《微服务架构基础》有感,引用其内容作为笔记记录 供广大学者参考学习。如有侵权,请及时告知。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值