一个springcloud入门案例

2 篇文章 0 订阅
1 篇文章 0 订阅

springcloud作为目前中小型项目极受欢迎的微服务框架,其重要性不必多说,本文主要是以一个简单的入门程序来了解springcloud体系的构成,各个组件之间的分工与协作等等.
首先,用IDEA初始化一个demo,我的项目结构图是这样的:
springclouddemo项目结构图
有5个子模块,下面来一一讲解这5个子模块在项目中充当的角色和起到的作用:
1.demo-eurekaclient,这是springcloud的注册服务组件,即服务生产者,主要配置如图所示:
服务生产者配置
HelloController:
HelloController
MyEurekaClient:服务生产者启动类,@EnableEurekaClient注解表示服务客户端:
MyEurekaClient
2.demo-eurekaserver:springcloud微服务注册中心,用于服务生产者注册服务地址;
微服务注册程序
MyEurekaServer:微服务注册程序启动类,@EnableEurekaServer表示这是用于微服务注册的服务
MyEurekaServer
3.demo-servicefeign:服务消费者,下图为基本配置
在这里插入图片描述
HelloController:最终服务消费者客户端对外暴露的接口,HelloFeign通过http协议调用服务名为service-hello的微服务;
HelloController
HelloFeign:通过http调用service-hello,如果出现异常,会调用回调函数HelloFeignCallback;
HelloFeign
HelloFeignCallback:回调函数HelloFeignCallback
4.demo-serviceribbon:负载均衡组件,如果在注册中心注册了多个名为service-hello的服务,ribbon会通过内部的负载均衡机制选择一个service来调用,默认是采用轮询机制;
ribbon配置
RibbonService:配合熔断器一起完成service的负载均衡,和HelloFeign不同的是,我这里采用RestTemplate来实现http调用,熔断器生效会调用helloError方法;
RibbonService
ServiceRibbon:开启负载均衡组件功能的service启动类;
ServiceRibbon
5.demo-servicezuul:springcloud网关组件,我们都知道在微服务架构中,系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?难道要一个个的去调用吗?很显然这是不太实际的,我们需要有一个统一的接口与这些微服务打交道,这就是我们需要服务网关的原因。
网关组件的基本配置
ServiceZuul:网关组件启动程序,注意这些注解;
网关组件启动程序
这几个模块的启动顺序,先启动注册中心,再启动服务生产者,然后是负载均衡和服务消费者,如果配了网关的话,再启动服务消费者之前也把网关组件启动;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值