做网站需要会写代码6/最近国际新闻大事

做网站需要会写代码6,最近国际新闻大事,php网站视频代码,包头建设厅官方网站快速入手:Nacos融合SpringCloud成为注册配置中心 前言安装Nacos项目搭建添加配置启动类添加注解运行项目服务调用RestTemplate 模式FeignClient 模式 Gateway 网关 前言 Spring Cloud是一系列框架的集合,提供了微服务架构下的各种解决方案,如…

快速入手:Nacos融合SpringCloud成为注册配置中心

  • 前言
    • 安装Nacos
    • 项目搭建
    • 添加配置
    • 启动类添加注解
    • 运行项目
    • 服务调用
      • RestTemplate 模式
      • FeignClient 模式
    • Gateway 网关

前言

  • Spring Cloud是一系列框架的集合,提供了微服务架构下的各种解决方案,如服务治理、配置管理、熔断器、网关等。它基于 Spring Boot,使得开发者能够快速构建微服务应用。
  • Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它可以作为服务注册中心,帮助微服务实例进行注册与发现,使各个微服务之间能够方便地进行通信。Nacos 服务器维护着一个服务注册表,记录着各个微服务的实例信息,如 IP 地址、端口号、服务名称等。当其他微服务需要调用某个服务时,只需从 Nacos 服务器获取服务实例列表,即可进行远程调用。此外,Nacos 还支持服务健康检查,能够实时监测服务实例的健康状态,将不健康的实例从服务列表中剔除,保证服务调用的可靠性。

当与 Nacos 集成时,Spring Cloud 应用可以从 Nacos 服务器获取配置信息。同时,Nacos 支持配置的动态更新,当配置信息发生变化时,微服务应用能够实时感知到变化,并自动更新本地的配置,无需重启应用。
搭建微服务.

安装Nacos

您需要先下载 Nacos 并启动 Nacos server

快速开始所生产出的Nacos服务为单机模式及未开启鉴权,建议仅在测试中使用,若在实际生产环境中部署,请部署集群模式并开启鉴权,以避免存在稳定性和安全性的风险。

您可以通过Nacos的版本下载页面、Github找到每个版本支持的功能的介绍,当前推荐的稳定版本为2.5.1。

Nacos 依赖 Java 环境来运行,请确保是在以下版本环境中安装使用:

  • 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  • 64 bit JDK 1.8+;下载 & 配置。

下载完成后解压Nacos压缩包,以Linux为例。

如果是.zip文件执行如下代码:

unzip nacos-server-$version.zip

如果是.gz文件执行如下代码:

tar -xvf nacos-server-$version.tar.gz

解压完成后,进入/bin目录:

cd nacos/bin

注:Nacos的运行建议至少在2C4G 60G的机器配置下运行。

解压后进入/bin目录,执行启动命令,如果是Linux则执行.sh脚本文件,Windows则执行.cmd脚本文件,示例代码如下:

# Linux
sh startup.sh -m standalone
# Windows
startup.cmd -m standalone

standalone代表着单机模式运行,非集群模式。

启动后,返回以下信息说明启动成功,如图所示:

在这里插入图片描述

打开任意浏览器,输入地址:http://127.0.0.1:8848/nacos,即可进入Nacos控制台页面(无需数用户名和密码)。

如果需要关闭服务器,执行对应文件与启动时文件后缀一致,示例代码如下:

# Linux
sh shutdown.sh
# Windows 或者双击
shutdown.cmd

项目搭建

参考官网最新版本说明,如图所示:

在这里插入图片描述

我们使用当前Nacos最新的版本,依赖文件如下:

Spring Boot VersionSpring Cloud Alibaba VersionSpring Cloud Version
3.3.92023.0.3.*2023.0.3
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.9</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.sc.nacos.product</groupId><artifactId>sc-nacos-product</artifactId><version>0.0.1-SNAPSHOT</version><name>sc-nacos-product</name><description>sc-nacos-product</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 用于配置管理 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!-- 服务发现 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2023.0.3.2</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2023.0.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

添加配置

bootstrap.propertiesbootstrap.yml 中配置应用名和文件名、 Nacos server 的地址,示例代码如下:

spring:application:name: sc-nacos-product# 设置外部配置源config:import: nacos:sc-nacos-product-dev.ymlcloud:nacos:# 指定 Nacos 配置服务器的地址config:server-addr: 127.0.0.1:8848# 指定 Nacos 服务发现服务器的地址discovery:server-addr: 127.0.0.1:8848

Nacos上创建对应sc-nacos-product-dev.yml配置文件,如图所示:

在这里插入图片描述

启动类添加注解

启动类增加 @EnableDiscoveryClient开启服务注册发现功能,示例代码如下:

@SpringBootApplication
@EnableDiscoveryClient
public class ScNacosProductApplication {public static void main(String[] args) {SpringApplication.run(ScNacosProductApplication.class, args);}}

运行项目

启动项目,检查配置文件是否连接正常,如图所示:
在这里插入图片描述

再检查服务在Nacos上是否注册成功,如图所示:

在这里插入图片描述

至此一个简单的SpringCloud整合Nacos项目已经完成。

服务调用

Spring Cloud提供了许多用于服务调用的功能。常见的服务调用方式RestTemplateFeignClientRibbonHystrix 等。

RestTemplate 模式

RestTemplateSpring 提供的用于发送 HTTP 请求和接收响应的类。它适用于多种场景,尤其是在没有声明式调用需求时。通过 RestTemplate,你可以直接发送 HTTP 请求并获取返回结果,通常与 Ribbon 结合使用进行负载均衡。

引入依赖:

        <!-- 负载均衡 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>

sc-nacos-product服务中定义一个Controller接口,示例代码如下:

@RestController
public class AppController {@GetMapping("/echo/{str}")public String rest(@PathVariable String str){return "hello "+ str;}
}

按照之前的步骤,创建一个调用方项目(比如项目名:sc-nacos-consumer)。

添加 @LoadBlanced 注解,使得 RestTemplate 接入服务发现与负载均衡:

@Configuration
public class AppConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate(){return new RestTemplate();}
}

sc-nacos-consumer服务定义一个Controller接口,调用sc-nacos-product服务接口,示例代码如下:

@RestController
public class AppController {@Autowiredprivate RestTemplate restTemplate;@GetMapping("/rest/{str}")public String rest(@PathVariable String str){return restTemplate.getForObject("htt://sc-nacos-product/echo/"+ str, String.class);}
}

使用Postman等工具,请求sc-nacos-consumer服务接口,确认响应无误,如图所示:

在这里插入图片描述

FeignClient 模式

FeignClientSpring Cloud 提供的一个声明式 HTTP 客户端,可以让你通过注解方式自动化服务调用。Feign 会根据接口定义自动实现 HTTP 请求,简化了服务调用的代码,并集成了负载均衡和错误处理功能。

引入依赖:

        <!-- 远程调用 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

启动类增加@EnableFeignClients注解,用于启用 Feign 客户端,示例代码如下:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ScNacosProductApplication {public static void main(String[] args) {SpringApplication.run(ScNacosProductApplication.class, args);}}

使用 @FeignClient 注解将sc-nacos-product服务提供的Controller接口,包装成一个 FeignClient,属性 name 对应对端应用名,示例代码如下:

@FeignClient(name = "sc-nacos-product")
public interface EchoService {@GetMapping(value = "/echo/{str}")String echo(@PathVariable(value = "str") String str);
}

EchoService 作为标准bean 注入sc-nacos-consumer服务,即可对远端服务发起请求了,示例代码如下:

@RestController
public class AppController {@Autowiredprivate EchoService echoService;@GetMapping("/client/{str}")public String client(@PathVariable(value = "str") String str){return echoService.echo(str);}
}

需要注意再sc-nacos-consumer服务,使用@EnableFeignClients注解并指定扫描路径,示例代码如下:

@SpringBootApplication
@EnableFeignClients(basePackages = "com.sc.nacos.product.client")
@EnableDiscoveryClient
public class ScNacosConsumerApplication {public static void main(String[] args) {SpringApplication.run(ScNacosConsumerApplication.class, args);}}

使用Postman等工具,请求sc-nacos-consumer服务接口,确认响应无误,如图所示:

在这里插入图片描述

Gateway 网关

Spring Cloud GatewaySpring Cloud 生态系统中的一个 API 网关,用于路由请求、过滤请求和响应。

引入依赖:

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>

按照之前的步骤,创建一个网关项目(比如项目名:sc-nacos-gateway)。

启动类添加注解,示例代码如下:

@SpringBootApplication
@EnableDiscoveryClient
public class ScNacosGatewayApplication {public static void main(String[] args) {SpringApplication.run(ScNacosGatewayApplication.class, args);}
}

application.yml 中配置路由规则:

spring:cloud:gateway:routes:- id: sc-nacos-consumeruri: lb://sc-nacos-consumerpredicates:- Path=/consumer/**- id: sc-nacos-producturi: lb://sc-nacos-productpredicates:- Path=/product/**filters:- StripPrefix=1

每个路由规则使用 - 来表示一个独立的路由。

  • id为当前的路由规则唯一标识符。

  • uri是一个关键配置项,它代表着请求被路由后要前往的目标地址或者服务发现中的服务名。 lb:// 是负载均衡的前缀,当请求/consumer开头的地址,就会被路由到sc-nacos-consumer服务,并且会通过负载均衡算法选择合适的实例来处理请求。

  • predicates 是路由的匹配条件部分,用于判断什么样的请求会被这个路由规则所处理。它表示当请求的路径以任意地址开头时,该请求就会匹配这个路由规则。** 是通配符,可以跟任意的路径信息。

  • filters 是路由的过滤部分,用于在请求被路由前后对请求和响应进行修改或处理。StripPrefix 过滤器的作用是在请求被路由之前,从请求的路径中移除指定数量的路径前缀部分。这里的 1 表示移除路径中的第一个路径段。比如:请求/product/user在经过 StripPrefix=1 过滤器处理后,实际被路由的路径会变成 /user

完整的配置文件如下:

spring:application:name: sc-nacos-gatewayconfig:import: nacos:sc-nacos-gateway.ymlcloud:nacos:config:server-addr: 127.0.0.1:8848discovery:server-addr: 127.0.0.1:8848gateway:routes:- id: sc-nacos-consumeruri: lb://sc-nacos-consumerpredicates:- Path=/consumer/**filters:- StripPrefix=1- id: sc-nacos-producturi: lb://sc-nacos-productpredicates:- Path=/product/**filters:- StripPrefix=1

使用Postman等工具,从网关请求sc-nacos-consumer服务接口,确认响应无误,如图所示:

在这里插入图片描述

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

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

相关文章

Python | 如何在Pandas中删除常量列

在数据分析中&#xff0c;经常会遇到数据集中始终具有常量值的列&#xff08;即&#xff0c;该列中的所有行包含相同的值&#xff09;。这样的常量列不提供有意义的信息&#xff0c;可以安全地删除而不影响分析。 如&#xff1a; 在本文中&#xff0c;我们将探索如何使用Pyth…

5.高频加热的原理与常用集成电路介绍

一、高频加热的类型 利用高频电源加热通常由两种方法&#xff1a;电介质加热&#xff08;被加热物体绝缘&#xff09;与感应加热&#xff08;被加热物体导电&#xff09;&#xff0c;详细解释如下&#xff1a; 电介质加热&#xff08;利用高频电压的高频电场导致物体自身分子摩…

【中文翻译】第9章-The Algorithmic Foundations of Differential Privacy

由于GitHub项目仅翻译到前5章&#xff0c;我们从第6章开始通过大语言模型翻译&#xff0c;并导出markdown格式。 大模型难免存在错漏&#xff0c;请读者指正。 教材原文地址&#xff1a;https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf 9 差分隐私与计算复杂度 到目…

【AI大模型】搭建本地大模型GPT-NeoX:详细步骤及常见问题处理

搭建本地大模型GPT-NeoX:详细步骤及常见问题处理 GPT-NeoX是一个开源的大型语言模型框架,由EleutherAI开发,可用于训练和部署类似GPT-3的大型语言模型。本指南将详细介绍如何在本地环境中搭建GPT-NeoX,并解决过程中可能遇到的常见问题。 1. 系统要求 1.1 硬件要求 1.2 软…

Unity跨平台构建快速回顾

知识点来源&#xff1a;人间自有韬哥在&#xff0c;豆包 目录 一、发布应用程序1. 修改发布必备设置1.1 打开设置面板1.2 修改公司名、游戏项目名、版本号和默认图标1.3 修改 Package Name 和 Minimum API Level 2. 发布应用程序2.1 配置 Build Settings2.2 选择发布选项2.3 构…

低配电脑畅玩《怪物猎人:荒野》,ToDesk云电脑优化从30帧到144帧?

《怪物猎人&#xff1a;荒野&#xff08;Monster Hunter Wilds&#xff09;》自2025年正式发售以来已取得相当亮眼的成绩&#xff0c;仅用三天时间便轻松突破800万销量&#xff0c;目前顺利蝉联周榜冠军&#xff1b;凭借着开放世界的宏大场景和丰富的狩猎玩法&#xff0c;该游戏…

Flink基础简介和安装部署

文章目录 一、Flink基础简介1、什么是Flink2、Flink流处理特性3、Flink四大基石4、Flink中的角色 二、Flink集群搭建1、Local模式①上传Flink安装包②启动交互窗口③提交任务测试④访问WebUI页面查看④退出停止集群 一、Flink基础简介 1、什么是Flink Flink是⼀个分布式&#…

【2025】基于ssm+jsp的二手商城系统设计与实现(源码、万字文档、图文修改、调试答疑)

基于SSMJSP的二手商城系统设计与实现系统功能结构图&#xff1a; 课题背景 随着经济的发展和人们生活水平的提高&#xff0c;二手交易市场日益活跃。人们对于闲置物品的处理方式逐渐从传统的废品回收转变为通过二手交易平台进行再利用。这种交易模式不仅能够帮助用户节省开支&a…

幻影星空亮相CAAPA北京展 引领文旅产业升级转型

3月19日&#xff0c;中国游艺机游乐园协会&#xff08;CAAPA&#xff09;主办的2025中国&#xff08;北京&#xff09;国际游乐设施设备博览会及2025北京国际旅游休闲娱乐产业博览会在北京盛大启幕。在这场行业盛会上&#xff0c;广州卓远旗下的“幻影星空”品牌以创新性的虚拟…

银河麒麟桌面版包管理器(二)

以下内容摘自《银河麒麟操作系统进阶应用》一书 APT包管理器 APT是Debian及其派生系统的包管理器&#xff0c;构建在dpkg之上&#xff0c;以其强大的依赖性处理能力和丰富的软件仓库而闻名。APT具有自动解决依赖关系、提供易于使用的命令行工具&#xff08;如apt-get、apt-ca…

Xcode16.1使用MonkeyDev运行Tiktok报错分析

问题1&#xff1a; Build input files cannot be found: /usr/lib/libc.dylib, /usr/lib/libstdc.dylib. Did you forget to declare these files as outputs of any script phases or custom build rules which produce them? 解决办法&#xff1a;在TARGETS的dylib中的Bui…

手机怎么换网络IP有什么用?操作指南与场景应用‌

在数字化时代&#xff0c;手机已经成为我们日常生活中不可或缺的一部分&#xff0c;无论是工作、学习还是娱乐&#xff0c;手机都扮演着至关重要的角色。而在手机的使用过程中&#xff0c;网络IP地址作为设备在互联网上的唯一标识符&#xff0c;其重要性和作用不容忽视。本文将…

CH32V208GBU6沁恒协议栈BUG:在主机Write的同一包notify会造成主机一直Write不成功

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…

unsloth微调QwQ32B(4bit)

unsloth微调QwQ32B(4bit) GPU: 3090 24G unsloth安装部署 pip 安装 pip install unsloth --index https://pypi.mirrors.usrc.edu.cn/simplesource /etc/network_turbopip install --force-reinstall --no-cache-dir --no-deps githttps://github.com/unslothai/unsloth.git​…

Dify 0.15.3 输入变量无法被重新赋值问题-解决方法

目录 一、问题描述 二、解决方法 2.1 原因 2.2 修改源码 2.3 重新打包 dify-api 镜像 2.4 修改 docker-compose.yaml 文件 2.5 重启启动镜像 一、问题描述 Dify 0.15.3 是一个比较稳定的版本&#xff0c;Dify 1.0 是一个大版本更新&#xff0c;目前还有很多 Bug。但是&a…

SQL Server查询计划操作符(7.3)——查询计划相关操作符(11)

7.3. 查询计划相关操作符 98&#xff09;Table Scan&#xff1a;该操作符从查询计划参数列确定的表中获取所有数据行。如果其参数列中出现WHERE:()谓词&#xff0c;则只返回满足该谓词的数据行。该操作符为逻辑操作符和物理操作符。该操作符具体如图7.3-98节点1所示。 图 7.3-…

数据库练习2

目录 1.向heros表中新增一列信息&#xff0c;添加一些约束&#xff0c;并尝试查询一些信息 2.课堂代码练习 插入语句 INSERT INTO 删除语句DELETE和TRUNCATE 更新语句UPDATE和replace 查询语句SELECT 条件查询 select语句中的特殊情况 ​​​查询排序 order by 分组查询…

资金管理策略思路

详细描述了完整交易策略的实现细节&#xff0c;主要包括输入参数、变量定义、趋势判断、入场与出场条件、止损与止盈设置等多个方面。 输入参数&#xff08;Input&#xff09;&#xff1a; EntryFrL (.6)&#xff1a;多头入场的前一日波动范围的倍数。 EntryFrS (.3)&#xff1…

数据模型,数据建模,组件,核心价值,使用,意义

数据模型 一组由符号,文本组成的集合, 用以准确表达信息景观, 达到有效交流,沟通的目的 数据建模 是发现,分析和确定数据需求的过程,是一种称为数据模型的精确形式表示和传递这些需求 数据模型的组件 实体, 关系, 属性和域 数据模型的核心价值 交流性 精确性 数据模型的…

解锁云原生后端开发新姿势:腾讯云大模型API实战攻略

目录 云原生后端与大模型融合的开篇之章​ 探秘云原生后端开发​ 云原生后端是什么​ 云原生后端架构核心要素​ 微服务架构​ 容器化技术​ 服务发现与配置管理​ Kubernetes 编排​ 走进腾讯云大模型知识引擎​ 引擎独特功能与优势​ DeepSeek - R1、V3 两款模型 …