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

微服务初始和Nacos安装

一)初始微服务:

微服务是将一个大型的,单一的应用程序拆分成多个小型服务,每一个服务负责于特定的业务功能,并且可以通过网络来和其他服务进行通讯,是一个思想,将一个大的项目拆分成多个小的项目,多个小的项目之间可以进行网络通信;

优点:

1)可以分而治之,之前的团队就需要把一个单体应用所有的功能都写完,压力很大,这事就可以拆分出多个小组,每一个小组负责于固定的业务,这时候大家的职责就比较明确了,可以协同配合;

2)每一个模块可以单独的部署,一个模块出问题以后不会导致所有模块全部宕机;

外部和内部之间的通讯的问题,内部和内部之间的通讯的问题

注册中心:将所有的服务都注册到注册中心里面,然后由注册中心给调用者来提供注册的名单,解决的是内部通讯的问题,不是说所有的东西都可以访问注册中心,只有服务内部集成了SDK才可以向Nacos来访问,但是前端模块就不可以访问注册中心;

网关:提供统一的入口,提供了一个url,将所有的服务全部注册到网关上

分布式链路追踪:排查问题

二)Nacos:

配置中心:关键信息都在云端,动态的修改,动态的管理配置文件,配置信息还更加安全

1)如果要是使用本地文件,首先来说不安全

2)本地文件不好修改,打包项目给运维的话,运维都无法进行修改配置文件也不容易修改

3)还可以进行历史信息的对比

4)所有机器可以连接使用同一份配置文件

注册中心:让生产者将生产者的服务的接口注册到注册中心还可以把生产者注册的链接给到消费者,用于服务发现和服务注册;

nacos安装:不要将安装包安装在系统盘,然后安装路径不要使用中文

下载Nacos,解压Nacos,使用命令行窗口进入Nacos和bin的启动路径输入启动命令:

winows:startup.cmd -m standalone

linux:startup.sh -m standalone

1)先进行下载安装包:

2)进行启动:startup.cmd -m standalone

3)nacos启动遇到问题:

3.1)查看是否是权限问题

3.2)JDK版本必须大于JDK8

3.3)startup.cmd -m standalone,启动基于单机

3)开启权限认证:首先,找到 Nacos 安装目录的中的 conf/application.properties 文件,修改以下几次内容为以下配置:开启权限认证,权限认证类型是nacos,默认密码,开启白名单,可以设置成任意值,设置完成直接重新启动,先设置用户,在设置角色,最后设置权限,默认的数据源,是Derby数据库,是内置本地数据库,可以保证数据不丢失;

nacos.core.auth.enabled=true
nacos.core.auth.system.type=nacos
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
# 访问 Nacos 敏感接口的白名单,key 和 value 必须要有值
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos

4)数据库更换信息:更换完成以后你可以创建一个用户,然后再MYSQL中进行查询

5)开始配置

6)新建项目:选择JDK17和start.aliyun.com

7)选择SpringBoot的版本是最新版本3.0.2,输入nacos进行搜索,第一个代表注册中心,第三个表示配置中心,第二个用于限流熔断的时候要存储限流的规则,A接口限流多少,B接口限流多少,Sentinel使用内存来存储,给Sentinel做数据源;

最后删除无效文件md和阿里给的示例

8)设置nacos配置信息

9)读取信息

相关文章:

  • 11.与JavaScript深入交流-[js一篇通]
  • 报错:Error: error:0308010C:digital envelope routines::unsupported
  • 用 docker 创建 jmeter 容器, 实现性能测试
  • 4.1 Bloom算法
  • 目标检测与图像识别分类的区别?
  • 图的深度优先遍历的六种应用附Java代码
  • 一体化模型图像去雨+图像去噪+图像去模糊(图像处理-图像复原-代码+部署运行教程)
  • (SpringBoot)第二章:Spring创建和使用
  • 矢量图形编辑软件illustrator 2023 mac中文软件特点
  • 微信开放平台账号
  • 0037【Edabit ★☆☆☆☆☆】【修改Bug 2】Buggy Code (Part 2)
  • redis6.0源码分析:简单动态字符串sds
  • 贝叶斯神经网络用于学习曲线的概率预测【ICLR 2017】
  • 【C++指针】类的指针
  • Android 处理多个TextView, 文案过长时前面文本省略的问题
  • 2019年如何成为全栈工程师?
  • Javascript编码规范
  • java小心机(3)| 浅析finalize()
  • Lucene解析 - 基本概念
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 入门级的git使用指北
  • 使用 QuickBI 搭建酷炫可视化分析
  • 我这样减少了26.5M Java内存!
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 因为阿里,他们成了“杭漂”
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 自动记录MySQL慢查询快照脚本
  • nb
  • const的用法,特别是用在函数前面与后面的区别
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #define,static,const,三种常量的区别
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (四)图像的%2线性拉伸
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)Linux+Windows下安装ffmpeg
  • (转)Oracle存储过程编写经验和优化措施
  • .NET基础篇——反射的奥妙
  • .sys文件乱码_python vscode输出乱码
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @angular/cli项目构建--Dynamic.Form
  • [100天算法】-二叉树剪枝(day 48)
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [C#]winform部署yolov9的onnx模型
  • [C#]科学计数法(scientific notation)显示为正常数字
  • [C++]STL之map
  • [C语言]一维数组二维数组的大小
  • [ERROR] ocp-server-ce-py_script_start_check-4.2.1 RuntimeError: ‘tenant_name‘
  • [hive] 窗口函数 ROW_NUMBER()