第七次更新,Spring Cloud Alibaba,迎接微服务生态的下一个十年

news2024/11/18 21:47:39

Spring Cloud Alibaba是什么?

2022年都快过完了,我相信大家肯定不用我说Spring Cloud Alibaba是什么了!

近期阿里最新开源了一份,Spring Cloud Alibaba(全解第7版),我大概看了一下,更新的内容非常多,很细节的地方写的也很到位!而且是咱们国内开发出来的框架,堪称国产之光!

下面咱们就跟着文章来看看都更新了那些内容吧!

目录展示

部分内容展示

自定义实现负载均衡

全局过滤器

顺序消息

事务消息

下单之后发送短信

TCC事务

需要领取这份资料的朋友麻烦关注一下公众号:Java收藏夹

一点点原文展示

3.3.2 将商品微服务注册到nacos

接下来开始修改 shop-product 模块的代码, 将其注册到nacos服务上

1 在pom.xml中添加nacos的依赖

<!--nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2 在主类上添加@EnableDiscoveryClient注解

@SpringBootApplication
@EnableDiscoveryClient
public class ProductApplication

3 在application.yml中添加nacos服务的地址

spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
4 启动服务, 观察 nacos 的控制面板中是否有注册上来的商品微服务

 

 

3.3.3 将订单微服务注册到nacos

接下来开始修改 shop_order 模块的代码, 将其注册到nacos服务上

1 在pom.xml中添加nacos的依赖

<!--nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2 在主类上添加@EnableDiscoveryClient 注解
@SpringBootApplication
@EnableDiscoveryClient
public class OrderApplication
3 application.yml 中添加 nacos 服务的地址
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
4 修改 OrderController , 实现微服务调用
@RestController
@Slf4j
public class OrderController {
@Autowired
private RestTemplate restTemplate;
@Autowired
private OrderService orderService;
@Autowired
private DiscoveryClient discoveryClient;
//准备买1件商品
@GetMapping("/order/prod/{pid}")
public Order order(@PathVariable("pid") Integer pid) {
log.info(">>客户下单,这时候要调用商品微服务查询商品信息");
//从nacos中获取服务地址
ServiceInstance serviceInstance =
discoveryClient.getInstances("service-product").get(0);
String url = serviceInstance.getHost() + ":" +
serviceInstance.getPort();
log.info(">>从nacos中获取到的微服务地址为:" + url);
//通过restTemplate调用商品微服务
Product product = restTemplate.getForObject(
"http://" + url + "/product/" + pid, Product.class);
log.info(">>商品信息,查询结果:" + JSON.toJSONString(product));
Order order = new Order();
order.setUid(1);
order.setUsername("测试用户");
order.setPid(product.getPid());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAMA Neurology:帕金森病跨疾病阶段的新兴神经成像生物标记物

意义&#xff1a;帕金森病(PD)的成像生物标记物在临床试验中的发病进程监测方面起到越来越重要&#xff0c;也具有改善临床护理和管理的潜力。这篇综述阐述了临床医生和研究人员需要明确在临床过程中使用的PD诊断和发病进程的成像生物标记物的时间相关性。磁共振成像(扩散成像、…

目标检测算法——人体姿态估计数据集汇总(附下载链接)

&#x1f384;&#x1f384;近期&#xff0c;小海带在空闲之余收集整理了一批人体姿态估计数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01;&#x1f388;&#x1f388; 一、KTH 多视图足球数据集 数据集链接&#xff1a…

python快速实现NPV净现值计算

净现值指未来资金&#xff08;现金&#xff09;流入&#xff08;收入&#xff09;现值与未来资金&#xff08;现金&#xff09;流出&#xff08;支出&#xff09;现值的差额&#xff0c;是项目评估中净现值法的基本指标。未来的资金流入与资金流出均按预计折现率各个时期的现值…

2023年天津仁爱学院专升本报名确认缴费考试流程

2023年天津仁爱学院专升本报名确认缴费操作流程说明及考试时间一、报名操作流程 1. 报名注册 请考生于2022年12月7日上午9点—12月11日中午12&#xff1a;00点登录报名系统https://jw.tjrac.edu.cn/zsb&#xff0c;点击“注册”按钮后进入报名登录界面&#xff0c;先请仔细阅读…

多线程学习笔记(三)

一、缓存行 缓存行&#xff1a;从缓存中读取数据是按照一块来读取的&#xff0c;这一块叫做缓存行&#xff0c;64字节大小缓存一致性协议&#xff1a;当两个数位于同一个缓存行时&#xff0c;有两个线程需要同时读取了缓存行中的数据后进行修改&#xff0c;需要和另一个线程的…

如何使用CCES来生成双核DSP的可烧写文件以及Flash Program

作者的话 之前的文章里有写到如何使用CCES来进行DSP的flash program&#xff0c;那都是单核的DSP&#xff0c;而ADI还有很多双核甚至三核DSP&#xff0c;这些DSP应该如何操作呢&#xff0c;会有哪些不同&#xff1f;我再写一个文档来说一下。 跟单核DSP一样&#xff0c;在 CC…

【测绘程序设计】——角度与弧度的转换(C#,C++,Python)

本文分享了 测绘程序设计——角度与弧度的转换(含C#、C++和Python版),相关源代码(完整工程,直接运行)及使用示例如下。 目录 Part.Ⅰ 使用示例Chap.Ⅰ C#版Chap.Ⅱ C++版Chap.Ⅲ Python版Part.Ⅱ 代码分析Chap.Ⅰ C#版Chap.Ⅱ C++版Chap.Ⅲ Python版Part.Ⅲ 源码下载Part…

实战YOLO V5推演(TensorRT版本 C++)

提示&#xff1a;兜兜转转还是来到了C&#xff0c;欠的债该还的得还&#xff0c;因此本篇文章试图从C来撬动tensorrt 完成转换模型和推理&#xff0c;而不是借助python库 文章目录前言一、Tensorrt前置1.1 Tensorrt基本概念1.2 异步推演说明二、实战YOLO V5推演1.TensorRT模型转…

大学电子系C++模拟考试

随手附上一些代码&#xff0c;未必是最优解&#xff0c;仅供参考。 加密四位数 【问题描述】 输入一个四位数&#xff0c;将其加密后输出。方法是将该数每一位的数字加9&#xff0c;然后除以10取余作为该位上的新数字&#xff0c;最后将千位上的数字和十位上的数字互换&#…

Prometheus 监控mysql

目录 下载安装mysqld_exporter 在mysql中创建监控用户并赋权 启动mysqld_exporter 添加到系统服务 浏览器访问服务器9104端口 在prometheus定义job来监控mysqld 运行prometheus并在端口9090上进行访问查看节点信息 根据具体需求再在可视化平台上定义数据源来进行可视化…

Java数据结构之树与二叉树

2.3 二叉树的性质&#xff08;重点&#xff0c;选择题常考&#xff09; 2.4 二叉树的链式存储 2.5 二叉树的基本操作 2.5.1 前提说明 2.5.2 二叉树的遍历 2.5.3 二叉树基本操作的实现&#xff08;重点&#xff09; 1. 树形结构 1.1 树的概念 树是一种非线性的数据结构&…

[附源码]JAVA毕业设计体检系统(系统+LW)

[附源码]JAVA毕业设计体检系统&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xf…

JavaScript实现一段时间之后关闭广告

JavaScript实现一段时间之后关闭广告 案例池子&#xff1a; JS实现鼠标悬停变色 JavaScript中的排他算法实现按钮单选 JavaScript中的localStorage JavaScript中的sessionStorage JavaScript实现网页关灯效果 JavaScript实现一段时间之后关闭广告 JavaScript实现按键快速获…

水下机器人双机械手系统动态建模与控制仿真(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 水下机器人-机械手系统&#xff08;Underwater vehicle-manipulator systems, UVMS&#xff09;可以完成除观测之外的水下采样…

[论文解析] HeadNeRF: A Realtime NeRF-based Parametric Head Model

code link: https://github.com/CrisHY1995/headnerf 相关连接&#xff1a; https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/124874717 来自中科大张举勇教授课题组提出了 HeadNeRF&#xff0c;一种基于 NeRF 的高效全息人脸头部参数化模型&#xff0c;该工作发表…

阿里面试Redis最常问的三个问题:缓存穿透、缓存击穿、缓存雪崩(带答案)

一、缓存穿透 如上图&#xff0c;正常情况下&#xff0c;如果用户在redis缓存中没有查询到自己想要的数据&#xff0c;就会去mysql数据库中查询。如果mysql数据库中也没有&#xff0c;在没有任何措施下&#xff0c;用户一定会不断的去mysql数据库中查询&#xff0c;随着时间的推…

风控串行组合模型及其信用评估场景实践

在信贷风控中&#xff0c;数据建模好像是“家常便饭”那么普通且重要&#xff0c;而我们最终享用“饭菜”的美味程度&#xff0c;在数据“食材”较完备的情况下&#xff0c;完全取决于我们建模的方法。根据实际业务场景&#xff0c;采用合理且有效的建模思路&#xff0c;可以较…

诊断和响应故障_RMAN数据修复概念

1&#xff0e;RMAN数据修复概述 1.1&#xff0e;关于需要数据修复的问题 虽然有几种问题会中止Oracle数据库的正常操作或影响数据库I/O操作&#xff0c;只有以下几种情况要求DBA介入和数据修复&#xff1a;用户错误&#xff0c;应用程序错误和介质故障。 1.1.1&#xff0e;关…

[附源码]计算机毕业设计JAVA中达小区物业管理系统

[附源码]计算机毕业设计JAVA中达小区物业管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

【LeetCode】1775. 通过最少操作次数使数组的和相等

题目描述 给你两个长度可能不等的整数数组 nums1 和 nums2 。两个数组中的所有值都在 1 到 6 之间&#xff08;包含 1 和 6&#xff09;。 每次操作中&#xff0c;你可以选择 任意 数组中的任意一个整数&#xff0c;将它变成 1 到 6 之间 任意 的值&#xff08;包含 1 和 6&…