当前位置: 首页 > news >正文

SpringCloud基础(3)-微服务远程调用

SpringCloud基础

    • 1. 微服务的远程调用
    • 2. Eureka注册中心
        • 1. 搭建Eureka服务注册中心

1. 微服务的远程调用

服务提供者:一次业务中被其它服务调用的一方;
服务消费者:一次业务中调用其它服务的一方;

2. Eureka注册中心

  1. 记录所有服务的信息,比如服务名,服务端口号;所有服务每过30秒发送一次请求到eureka注册中心,如果服务不在发送请求到eureka,该服务则会被eureka从服务列表中移除。
  2. 消费者可以根据对应的服务名直接调用相关服务;如有一个user服务注册在eureka中,其它服务调用该服务时,只需要通过@feign填写对应的服务名称;
  3. 如果存在多个服务提供者,消费者会通过负载均衡算法,从服务列表中挑选一个;

1. 搭建Eureka服务注册中心

  1. 创建一个普通的maven项目
  2. 在pom.xml文件中增加如下依赖
    <dependencies><dependency><groupId>org.springframework.cloud</groupId><!--具体的eureka服务器--><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>
  1. 在resource目录下创建一个application.yml文件(目前普遍使用yml格式,当然也可以使用propoties格式的配置文件)
#服务端口号
server:port: 9999# 服务名称
spring:application:name: newname # eureka的服务名称
eureka:client:service-url:defaultZone: http://127.0.0.1:9999/eurekaregister-with-eureka: truefetch-registry: falseinstance:prefer-ip-address: trueip-address: 127.0.0.1

第三步中有些点需要注意:1. port端口号,要与defaultZone中的端口号一致,否则会报错Request execution error. endpoint=DefaultEndpoint{ serviceUrl='http://127.0.0.1:9999/eureka/},;
2. register-with-eureka:这个配置是用来表示eureka是否需要自身注册到自己的注册中心上面去;

  1. 需要在springBoot的启动类中增加注解@EnableEurekaServer;作为一个服务端的eureka,必要的一个主服务;
  2. 其它注册到该注册中心的,需要引入依赖,注册中心客户端依赖。
        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
  1. 如果没有引入feign,那么在此之前,可以通过RestTemplate方式,通过注册中心,调用其它服务,服务名称可以登录注册中心控制台查看。我这边注册中心注册的端口是9999,所以可以直接打开http://localhost:9999/;
    在这里插入图片描述
  2. 客户端注册配置;
eureka:client:service-url:defaultZone: http://127.0.0.1:9999/eureka

按照如上流程便可以创建一个简单的eurake服务。

http://www.lryc.cn/news/31827.html

相关文章:

  • 10.单点登录原理及JWT实现
  • 图表控件LightningChart.NET 系列教程(十一):LightningChart 组件——添加至 Blend WPF 项目
  • libGDX:灯光效果实现一(实现一个点光源)
  • Java生态/Redis中如何使用Lua脚本
  • 网络编程 socket 编程(一)
  • 【SpringCloud】SpringCloud教程之Nacos实战(一)
  • 高通Android 12/13 默认应用程序授予权限
  • 代码随想录|day6|哈希表篇-- 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和
  • k8s学习之路 | Day20 k8s 工作负载 Deployment(下)
  • 考研复试——操作系统
  • Java ~ Collection/Executor ~ LinkedBlockingDeque【源码】
  • 【前缀和】截断数组、K倍区间、激光炸弹
  • 函数编程:强大的 Stream API
  • 企业架构图之业务架构图
  • 监控易网络管理:网络流量分析
  • RHCSA-文件内容显示(3.6)
  • Qt多线程文件查找器
  • 源码阅读笔记 InputFormat、FileInputFormat、CombineTextInputFormat
  • 二值图像骨架线提取
  • 规划数据指标体系方法(上)——OSM 模型
  • 做程序界中的死神,继续提升灵力上限
  • [数据结构]:11-冒泡排序(顺序表指针实现形式)(C语言实现)
  • Java实验报告经验总结
  • ESP32使用TCP HTTP访问API接口JSON解析获取数据
  • spring security 实现自定义认证和登录(4):使用token进行验证
  • 戴眼镜检测和识别2:Pytorch实现戴眼镜检测和识别(含戴眼镜数据集和训练代码)
  • 信息收集之Google Hacking
  • 【面试题】如何避免使用过多的 if else?
  • oneblog_justauth_三方登录配置【Gitee】
  • 33- PyTorch实现分类和线性回归 (PyTorch系列) (深度学习)