微服务基础实践一:基于rest实现服务之间的调用

一:概念

所谓的微服务,就是把以前单体的一个应用根据数据库或者业务等等进行拆分,实现解耦,同时也为以后的服务应用升级提供可控性。通俗一点,就是应用加功能更快并且性能也更好,最重要的是,不会影响到别的服务,比如说你的系统把用户管理单独弄成了一个微服务,那么有一天你的需求变更了,要给用户增加一个点赞功能,按照旧的做法,需要重新部署应用,但是如果你的系统采用的是微服务的架构,这个时候就不需要停掉整个系统然后去升级,只需要简单的对用户这个服务进行升级,并且系统在升级期间主要的其他功能也是正常使用的。

我们先来说说大家最疑惑的一点,就是单体应用拆成微服务的时候,就变成多个项目,那么项目之间是如何进行调用的呢?这里可以用rest风格服务调用。

二:使用

1、新建一个springboot项目

这步太简单了,不会的自己百度idea新建一个springboot项目

2、先写serviece2项目的内容

其实就是写一个简单的restful接口,并且返回一个sting字符串

如图,application.yml里面就只设置了访问端口为8080

接下来就是写service1,然后通过RestTemplate去请求service2的请求地址,实现接口的调用,同样,application.yml里面只设置了请求服务1的端口为8081

最后就是测试,启动两个项目,我们想要通过service1去访问service的一个接口,按照我们的代码就是访问http://localhost:8081/callservice2

那么现在一个最简单的服务之间的调用就出来了。在微服务springcloud中,我们还需要一个注册中心,各个服务之间的发现和注册都是通过中心进行集中管理。cloud里面常用的有eureka和connul和zookeeper。并且,cloud中我们用feign去做服务之间的调用。跟这个rest方式对比就是比较简洁和方便。

留下一个问题。怎么把这两个项目弄成一个maven多模块的项目。

答案你们可以自己写,我把它写好最后放百度云上面了。

链接:https://pan.baidu.com/s/1PQDIopnG15SvU9DJlOZtdQ 密码:oly0 (maven父子项目模版)

链接:https://pan.baidu.com/s/1TgE6rKctDZavDNjc7rN19Q 密码:k7kl (本文案例)

下一个内容就是实现负载均衡的spirngcloud注册中心eureka。

这里先说下springcloud微服务架构的一些理论知识。能力有限,只能讲我知道的东西,不喜勿喷,欢迎加我微信15626154768

整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立运行扩展。这其中多亏了各个组建之间的相互协作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值