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

三天速成微服务

 微服务技术栈

 

 

 

 

 总结

微服务技术对比

技术栈

 SpringCloud

         SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud

  Springboot和SpringCould兼容性

 

代码目录结构如下

 用于远程调用Bean

 代码

package cn.itcast.order.config;//import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;@Configuration
public class RestTemplateConfig {@Bean
//    @LoadBalanced // 添加负载均衡注解public RestTemplate restTemplate() {return new RestTemplate();}
}

 方法执行过程过程

OrderController

 OrderService
 OrderMapper

 UserMapper

 Order
 User
远程调用成功截图

访问

 总结   

        微服务调用方式基于RestTemplate发起的http请求实现远程调用http请求做远程调用是与语言无关的调用,只要知道对方编辑端口、接口路径、请求参数即可。

Eureka消费者与提供者

服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务)

服务消费者:一次业务中,调用其它微服务的服务。(调用其它微服务提供的接口)

        提供者和消费者是相对的,一个服务可能既是提供者又是消费者。

 

 

 

 

pom.xml引入依赖服务端依赖

<dependencies><!--eureka服务端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies>

 

注册userservice

 use pom.xml引入服务管理依赖

      <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>

 

成功服务截图

 复制多个实例

操作如下

 输入 -Dserver.port=8082

 点击确定

 

成功注册两个实例

 Eureka服务注册总结

        服务注册是微服务架构中的关键环节,保证各服务之间的发现和调用。

1引入依赖

在pom文件中eureka-client依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2配置文件

在application.yml文件,添加服务名称、eureka地址:

spring:application:name: userservice
eureka:client:service-url:defaultZone: http://127.0.0.1:1086/eureka

        服务注册是微服务架构中的关键环节,保证各服务之间的发现和调用。以下是服务注册的关键概念和步骤的总结:

Eureka服务发现总结

 Ribbon-负载均衡原理

        SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改

 

 

 

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

相关文章:

  • 【踩坑记录】uni-app 微信小程序调试不更新问题解决指南
  • 【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事?
  • PyTorch 中 coalesce() 函数详解与应用示例
  • ubuntu进行C++的调试
  • 【U8+】用友U8软件中,出入库流水输出excel的时候提示报表输出引擎错误。
  • NoSQL简介
  • XIAO Esp32 S3 网络摄像头——3音视频监控
  • 题目解析与代码实现:You‘re Given a String
  • Understanding the Lomb–Scargle Periodogram
  • 解决Linux切换用户后的命令提示符为-bashxx$的问题
  • AMP 混合精度训练中的动态缩放机制: grad_scaler.py函数解析( torch._amp_update_scale_)
  • Oracle数据库如何找到 Top Hard Parsing SQL 语句?
  • Mono里运行C#脚本25—mono_codegen
  • flink cdc oceanbase(binlog模式)
  • 【WPF】 数据绑定机制之INotifyPropertyChanged
  • 机器学习算法深度解析:以支持向量机(SVM)为例及实战应用
  • 网络编程基础:连接Java的秘密网络
  • 无监督学习:自编码器(AutoEncoder)
  • 在不到 5 分钟的时间内将威胁情报 PDF 添加为 AI 助手的自定义知识
  • Memcached prepend 命令
  • Win10 VScode配置远程Linux开发环境
  • 微信小程序校园自助点餐系统实战:从设计到实现
  • 解决sublime编译无法输入问题
  • const修饰指针总结
  • uniapp实现后端数据i18n国际化
  • 什么是国密设计
  • Android IO 问题:java.io.IOException Operation not permitted
  • 安装bert_embedding遇到问题
  • cka考试-03-k8s版本升级
  • 【insert 插入数据语法合集】.NET开源ORM框架 SqlSugar 系列