文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringCloud协同开发实现方法浅析

2022-12-27 12:01

关注

相比Springboot开发,SpringCloud开发要复杂的多,因为涉及服务的注册发现,多个微服务模块间的调用等。

最简单的解决方案是每个开发者都在本地启动一套完整的开发环境,包括网关、nacos等各个组成微服务的模块,如果系统模块较少,这种开发方案还可以接受,如果系统太多,本地启动整套环境未免太多臃肿,非常不方便。

微服务注册问题

像下面这张图,倒数第二个服务启动了两个实例,他们两个组成了一个集群。前端在调用接口的时候可能想调用A的该服务,但是可能会被路由到B的该服务上去了,这种情况是我们不希望看到的。

我们想要看到的效果是,A、B两个开发者将自己的功能开发完以后提交到服务器部署。前端可以调用到这些开发好、经过后端自测的服务接口,后端在提交自己的代码之前,不应该注册到集群中。

为了解决上述问题,可以在bootstrap.yml文件中加入下面配置。开启如下配置以后,启动服务将不再注册到nacos中,前端调用也不会再调用到该服务。

server:
  port: 3001
# 加入下面配置,取消该服务的注册
spring:
  cloud:
    nacos:
      discovery:
        register-enabled: false

后端如果想要调用自己开发的接口,可以直接通过http://localhost:3001/接口地址调用并测试,等测试接口没问题以后可以提交自己的代码并部署,部署完成以后前端可以调用接口进行开发。

微服务间调用问题

在微服务中可以通过OpenFeign,使用微服务名称进行微服务间的调用,但是同样的,如果本地开发,我们可能想让某个请求转发到某个特定的服务上,而不是通过微服务名称进行负载均衡转发,为了将请求转发给特定的服务,可以在@FeignClient注解中指定要请求的URL,如下,是将RemoteUserService类的请求转发给http://172.20.2.3:11201服务了。注意这样写是为了本地开发方便调试,如果要提交代码需要将这些代码去掉。

@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, url = "http://172.20.2.3:11201", fallbackFactory = RemoteUserFallbackFactory.class)
public interface RemoteUserService
{
    
    @GetMapping("/user/info/{username}")
    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
}

前后端联调问题

正常的前后端联调应该是后端写好代码,将代码合并到开发分支上面,部署开发分支,前端连接开发分支进行调试。

到此这篇关于SpringCloud协同开发实现方法浅析的文章就介绍到这了,更多相关SpringCloud协同开发内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯