springboot第33集:nacos图

这篇具有很好参考价值的文章主要介绍了springboot第33集:nacos图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

./startup.sh -m standalone

springboot第33集:nacos图,spring boot,后端,java,spring

  • Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。

  • Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。

鉴权

https://nacos.io/zh-cn/docs/v2/guide/user/auth.html

springboot第33集:nacos图,spring boot,后端,java,spring

springboot第33集:nacos图,spring boot,后端,java,spring

springboot第33集:nacos图,spring boot,后端,java,spring

springboot第33集:nacos图,spring boot,后端,java,spring
springboot第33集:nacos图,spring boot,后端,java,spring

springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png

在Spring Boot后端中,RPC代表远程过程调用(Remote Procedure Call)。RPC是一种通信机制,它允许不同计算机或进程间的程序能够相互调用彼此的函数或方法,就像调用本地函数一样。

在分布式系统中,当应用程序的各个部分分布在不同的服务器上,需要相互之间进行通信和协作时,RPC是非常有用的。通过RPC,应用程序可以将请求发送到远程服务器上的方法或服务,并获取返回结果,就好像这些方法或服务是在本地执行的一样。

Spring Boot本身并不提供RPC的实现,但是它可以与其他RPC框架集成,如:

  1. gRPC: 由Google开发的高性能、跨语言的RPC框架,使用Protocol Buffers(protobuf)作为默认的序列化协议。

  2. Apache Dubbo: 一种基于Java的高性能、轻量级的RPC框架,提供了丰富的功能和可插拔的扩展点。

  3. Apache Thrift: 由Apache开发的跨语言的RPC框架,支持多种编程语言,并提供了丰富的数据类型和服务定义。

  4. Spring Cloud: 尽管不是专门的RPC框架,但它提供了在微服务架构中实现RPC风格通信的能力,例如通过RESTful API或Feign客户端。

要在Spring Boot应用程序中使用RPC,您需要:

  1. 选择一个适合您的需求的RPC框架,并在项目中添加相关的依赖。

  2. 根据RPC框架的文档和示例配置和实现服务端和客户端。

  3. 在客户端中调用远程服务的方法,将请求发送到远程服务器并处理返回结果。

需要注意的是,RPC通常比本地方法调用涉及更多的网络通信,因此在设计RPC接口时需要考虑网络延迟和异常处理,以确保系统的可靠性和性能。

与硬件通信交互在物联网应用中是一种常见的需求。Spring Boot作为后端框架,可以与硬件进行通信,实现物联网功能。下面是一般实现物联网的基本步骤以及后端处理的方法:

  1. 硬件设备选择:首先,您需要选择适合您物联网项目的硬件设备。这可以是传感器、执行器、嵌入式设备等,取决于您的具体应用场景。

  2. 通信协议选择:在与硬件通信时,您需要选择合适的通信协议。常见的通信协议有MQTT、CoAP、HTTP等。您应该根据硬件设备和网络环境的特点选择最适合的协议。

  3. 连接硬件设备:在Spring Boot后端中,您可以使用相应的通信库或框架来实现与硬件设备的通信。例如,如果选择MQTT协议,您可以使用Eclipse Paho或者Spring Integration的MQTT支持来建立与硬件设备的连接。

  4. 设计API和数据格式:定义与硬件设备交互的API和数据格式。这涉及到如何发送命令到硬件设备,以及如何解析硬件设备发送回来的数据。使用JSON或其他轻量级的数据格式可以方便数据交换。

  5. 处理数据和业务逻辑:一旦与硬件设备建立了连接,并通过API交互,后端需要处理从硬件设备接收到的数据。您可以编写相应的业务逻辑来处理这些数据,例如存储到数据库、进行实时分析等。

  6. 安全性:在物联网应用中,安全性非常重要。确保与硬件设备之间的通信是安全的,可以使用加密和身份验证机制来保护通信的安全性。

  7. 异常处理:在与硬件设备通信时,可能会出现通信故障或其他异常情况。后端需要做好异常处理,保证系统的稳定性和可靠性。

Sentinel 环境

熔断降级组件,https://github.com/alibaba/Sentinel/releases

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server = localhost:8080 -Dproject.name = sentinel-dashboard -jar sentinel-dashboard-1.8.x.jar
springboot第33集:nacos图,spring boot,后端,java,spring
image.png

1、docker安装sentinel
docker pull bladex/sentinel-dashboard

2、启动镜像
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard

3、开放端口
firewall-cmd --permanent --add-port=8858/tcp

4、登录:
http://192.168.1.58:8858/#/dashboard/flow/sentinel-dashboard
账号密码默认均为:sentinel

brew install redis

brew services restart redis

ps -ef|grep redis

springboot第33集:nacos图,spring boot,后端,java,spring
image.png
cd /Users/xiaolige/app
## 创建 redis master 节点配置文件目录
mkdir -p redis/redisSentinel/master
## 创建 redis slave 节点配置文件目录
mkdir -p redis/redisSentinel/slave
## 创建 redis sentinel 节点配置文件目录
mkdir -p redis/redisSentinel/sentinel
## 创建 redis 启动相关脚本目录
mkdir -p redis/redisSentinel/script
## 创建 redis 日志目录
mkdir -p redis/redisSentinel/logs
springboot第33集:nacos图,spring boot,后端,java,spring
image.png

把下载好的sentinel-dashboard-1.7.2.jar包上传到服务器/usr/local中
进入/usr/local目录启动

cd /usr/local

启动Sentinel

直接启动sentinel控制台

java -jar sentinel-dashboard-1.7.2.jar

后台进程方式启动

nohup java -jar sentinel-dashboard-1.7.2.jar >sentinel.log &

管理Sentinel

浏览器访问:http://localhost:8080

默认账号密码
账号:sentinel
密码:sentinel

nacos is starting with standalone

./startup.sh -m standalone

nacos is starting,you can check the /Users/jeskson/Downloads/nacos/logs/start.out

springboot第33集:nacos图,spring boot,后端,java,spring
image.png
springboot第33集:nacos图,spring boot,后端,java,spring
image.png

Docker安装Sentinel(Mac)

java -jar sentinel-dashboard-1.8.6.jar

startup.cmd -m standalone

拉取依赖java:8-alpine镜像

docker pull java:8-alpine

创建Dockerfile

在目录 /Users/xxx/docker/sentinel(根据需要自定义) 下创建Dockerfile文件,并授权

sentinel % pwd /Users/luyou/docker/sentinel

sentinel % touch Dockerfile # 授权目录

chmod -R 777 sentinel

cd sentinel

将 sentinel-dashboard-1.8.4.jar 放入 /Users/xxx/docker/sentinel目录下

FROM java:8-alpine
COPY ./sentinel-dashboard-1.8.4.jar /tmp/sentinel-dashboard-1.8.4.jar
EXPOSE 8081 8719
ENTRYPOINT java -Dserver.port=8081 -Dcsp.sentinel.dashboard.server=localhost:8081 -Dproject.name=sentinel-dashboard -jar /tmp/sentinel-dashboard-1.8.4.jar

docker build . -t sentinel-dashboard:1.8.4

springboot第33集:nacos图,spring boot,后端,java,spring

创建容器

docker run --name sentinel -p 8081:8081 -p 8719:8719 -d sentinel-dashboard:1.8.4

docker ps

docker start sentinel

springboot第33集:nacos图,spring boot,后端,java,spring
image.png

docker stop sentinel

docker rm sentinel

docker logs -f sentinel

进入容器

docker exec -it sentinel bash

退出容器

exit

Docker安装Seata

Docker安装Nacos

Docker安装Mongodb

Docker安装RabbitMQ

java -jar sentinel-dashboard-1.8.6.jar

nslookup github.com 8.8.8.8

java -jar -Dserver.port=8080 sentinel-dashboard-1.8.6.jar

java -jar -Dserver.port=8718 sentinel-dashboard-1.8.6.jar

./startup.sh -m standalone

http://localhost:8848/nacos/#

8718

问题 异常提示:JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.

中文意思是:JWT签名与本地计算的签名不匹配。无法断言JWT有效性,不应信任JWT有效性。

解决 出现这种异常的情况有:

1、生成token时用的密钥和验签时用的密钥不一致。通过打断点的方式debug检查对比两个地方的密钥是否一致。

2、验签时使用的令牌不对。通过打断点的方式debug检查,生成的令牌和回传的令牌是否一致。

public static void addAuthentication(HttpServletResponse res, String username, String role) {
  String JWT = Jwts.builder()
    .setSubject(username)
    .setExpiration(new Date(System.currentTimeMillis() + EXPIRATIONTIME))
    .claim("roleName", role)
    .signWith(SignatureAlgorithm.HS512, SECRET)
    .compact();
  res.addHeader(HEADER_STRING, TOKEN_PREFIX + " " + JWT);
}
// parse the token.
Claims body = Jwts.parser()
  .setSigningKey(SECRET)
  .parseClaimsJws(token.replace(TOKEN_PREFIX, ""))
  .getBody();
String username = body.getSubject();
springboot第33集:nacos图,spring boot,后端,java,spring
image.png

加群联系作者vx:xiaoda0423

仓库地址:https://github.com/webVueBlog/JavaGuideInterview文章来源地址https://www.toymoban.com/news/detail-629999.html

到了这里,关于springboot第33集:nacos图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决`java.lang.NoClassDefFoundError`在Nacos和Spring Boot集成中的问题

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(35)
  • 2023 最新版IntelliJ IDEA 2023.1创建Java Web前(vue3)后端(spring-boot3)分离 项目详细步骤(图文详解)

    2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解) 本篇使用当前Java Web开发主流的spring-boot3框架来创建一个Java前后端分离的项目,前端使用的也是目前前端主流的vue3进行一个简单的项目搭建,让你距离Java全栈开发更近一步 🏴‍☠️。 使用版本: “17.0.1”

    2024年02月12日
    浏览(76)
  • 使用 Spring Boot 集成 Nacos

    在本篇博客中,我们将介绍如何使用 Spring Boot 框架来集成 Nacos,实现服务的注册与发现。Nacos 是一个开源的动态服务发现、配置和服务管理平台,能够帮助我们构建和管理微服务架构。 在开始之前,确保你已经安装了以下软件和工具: Java JDK 8 或以上版本 Maven 构建工具 Sp

    2024年02月10日
    浏览(36)
  • Nacos在spring boot的使用

    说明:本文章是自己在学习spring boot中使用Nacos服务注册和发现时记录的当做笔记了,有什么不对的欢迎指正。 当你来搜索spring boot中使用nacos的时候就应该知道nacos是什么了,这里就不多废话了,直接看下面的使用吧 步骤: 1、去官网安装nacos并且启动nacos service. 成功的页面如

    2024年02月13日
    浏览(27)
  • Spring Boot 整合 Shiro(后端)

    1 Shiro 什么是 Shiro 官网: http://shiro.apache.org/ 是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、 授权、会话管理、加密等操作。 Shiro 就是用来解决安全管理的系统化框架。 2 Shiro 核心组件 用

    2024年02月09日
    浏览(41)
  • Spring Boot 中 Nacos 配置中心使用实战

    https://nacos.io/zh-cn/docs/quick-start-spring-boot.html 我的spirngboot版本为2.5.6 由于我没有配置namespace,默认的事public,因此我在配置里面加了下面这条配置导致错误 应该使用 命名空间ID ,此处有很多人踩坑,后来者一定要注意哦。

    2024年02月10日
    浏览(37)
  • 使用Nacos与Spring Boot实现配置管理

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(43)
  • 使用Nacos配置中心动态管理Spring Boot应用配置

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月12日
    浏览(48)
  • Android前端+Spring Boot后端 登录功能实现

    创建项目后,自己添加包,框架如下   userController里的一些内容,只供参考,代码不全,无法实现 数据库是直接在社区版IDEA里连接Mysql,在控制台端创建的数据库和user表,用于数据交互。 Activity包里是Activity Java类,主要响应layout包里activity_login.xml等页面布局内的按钮响应 a

    2024年02月12日
    浏览(53)
  • 基于Ant DesignPro Vue + SpringBoot 前后端分离 - 后端微服化 + 接口网关 + Nacos

    通过Ant DesignPro Vue + SpringBoot 搭建的后台管理系统后,实现了前后端分离,并实现了登录认证,认证成功后返回该用户相应权限范围内可见的菜单。 后端采用SpringCloud构建微服,采用SpringCloud Gateway做为服务网关,采用Nacos做为统一配置中心,并在服务网关部分解决了前端跨域调

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包