微服务-Nacos环境安装

文章目录

  • 1. 微服务
    • 1.1 微服务概括
  • 2. 微服务框架
    • 2.1 Spring Cloud
    • 2.2 Spring Cloud alibaba/Spring Cloud Netflix
    • 2.3微服务框架组件(alibaba)
  • 3 Nacos
    • 3.1 Nacos介绍
    • 3.3 Naocs工作结构
    • 3.3 Nacos功能
    • 3.4 环境准备
      • 下载
      • 安装

1. 微服务

1.1 微服务概括

  • 单体架构有问题,所以做项目的纵向拆分,SOA面向服务的编程思想,早期的这种思想落地方案是采用ESB作为企业服务总线,但是有很多的遗留问题难以解决.后来出现了微服务概念,微服务的各种组件技术.

  • 微服务=SOA思想+组件技术
    在这里插入图片描述

  • 微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API/或其它协议 直接 通信。同时服务会使用最小的规模的集中管理能力,服务可以用不同的编程语言与数据库等组件实现。

  • 单体架构存在的问题,目前可以进行纵向拆分,但是依然有没解决的问题,远程调用.

  • 简单来说,微服务就是将一个大型项目的各个业务模块拆分成多个互不相关的小项目,而这些小项目专心完成自己的功能,而且可以调用其他小项目的方法,从而完成整体功能.

  • 实现微服务的系统项目架构落地,我们需要引入微服务的框架技术.

  • 我们选择 spring cloud中的alibaba一套开源组件.

  • 这种问题就是拆分之后出现的新问题(拆分的结构已经是一个分布式结构)

  • 这种拆分的结果,每个独立运行的项目—微服务

  • 微:小,可以拆分的更细致

  • 服务: 可调用的功能

  • 分布式:一件事(广义的),多个进程/节点/模块 完成.都叫做分布式.

  • 微服务结构,满足灵活扩展的.引出非常多问题,比如远程调用,比如调用失败的熔断,比如分布式事务等.

  • 想要解决,引入微服务架构技术,比如Spring Cloud/Spring Cloud Alibaba

2. 微服务框架

2.1 Spring Cloud

  • SpringCloud是由Spring提供的一套能够快速搭建微服务架构程序,解决分布式微服务架构中各种问题的的框架集.
  • 框架集表示SpringCloud不是一个框架,而是很多框架的集合.并不需要把所有内容都学完.

2.2 Spring Cloud alibaba/Spring Cloud Netflix

  • Spring自己提供的开发出来的框架或软件
  • Netflix(奈非):早期的很长一段时间,提供了大量的微服务解决方案
  • alibaba(阿里巴巴):新版本的SpringCloudAlibaba正在迅速占领市场(推荐使用)

在这里插入图片描述

2.3微服务框架组件(alibaba)

    • nacos: 注册中心 配置中心
  • dubbo: 远程调用rpc框架
  • sentinel: 熔断器,限流器
  • rocketmq: 异步通信队列
  • spring cloud gateway: 微服务网关

所有组件使用,整合到spring cloud,spring cloud出现是基于springboot完成的.
使用学习的步骤,大三步.

  1. 依赖
  2. 配置yaml
  3. 简单配置: 可能是配置类,可能是注解
    注意:只学习其中1-2个,没有全学完,有可能不能完成一个完整的微服务架构的.

3 Nacos

3.1 Nacos介绍

  • 官网文档地址: https://nacos.io/zh-cn/docs/quick-start.html
  • 缩写就是 Naming Configuration service,本身nacos就是一个service服务,这个服务的功能包括命名管理,服务注册发现,和配置管理。
  • 官方介绍
  1. Nacos 致力于帮助您发现配置管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
  2. Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
  3. 和spring cloud原生组件eureka是非常类似的,所以在eureka停更之后,nacos的活跃度非常高,无论从应用还是性能都是首选替代品。

3.3 Naocs工作结构

  • nacos组件中角色划分:
    • 服务端:刚刚启动的进程就是服务端,可以接收客户端的各种请求,根据不同请求处理客户端发送的请求信息.请求可以使用不同的通信协议,比如http rpc等.
    • 客户端:就是我们拆分出来的每一个微服务,在我们的demo案例中,有4个服务分别是buseniss cart order stock,每一个服务都可以启动好多个客户端
      在这里插入图片描述

3.3 Nacos功能

  • 服务治理

管理纵向拆分出来的,独立运行的服务集群. 治理的主要手段 注册 发现

  • 配置管理
    服务中冗余,重复的项目配置比如json properties txt yaml文件几种管理,分组,分环境管理.

3.4 环境准备

下载

  • jdk下载链接:https://www.oracle.com/java/technologies/downloads/
    • 双击下载软件安装
    • 全部默认下一步
    • 关注一下安装目录,安装完成检查一下目录
    • 跳转到JAVA_HOME配置
  • 链接地址: https://github.com/alibaba/nacos/releases/download/1.4.3/nacos-server-1.4.3.zip
  1. 确保当前windows,或者系统环境变量JAVA_HOME
    1). WINDOWS java安装包 安装完成自动配置
    2). 配置JAVA_HOME环境变量 指向安装目录.在这里插入图片描述在这里插入图片描述
    最后新开一个cmd 输入java -version确定环境变量生效.

安装

  • 解压直接使用: 没有中文,没有空格的路径
  • 如果启动运行出现Please set JAVA_HOME提示说明上一步环境变量没有配置.
  • 启动这个软件,启动命令
    • windows: startup.cmd -m standalone
    • linux/mac: sh startup.sh -m standalone

在windows的doc环境cmd可以直接运行,前提先进入nacos的家目录中的bin文件夹里.
在这里插入图片描述

  1. 进入到nacos家目录中bin文件夹下,打开cmd
    在这里插入图片描述运行命令,添加一个选项,单机运行
    window: bin> startup.cmd -m standalone
    ios及Linux:bin> startup.sh -m standalone
    注意:
    • cmd运行程序有个坑: 卡主,选中cmd enter回车
    • 如果出现其他问题,一定是jdk版本问题
    • startup.cmd 拼接,判断最终运行了一个command命令
    • 查看nacos启动所有问题的日志文件
      在这里插入图片描述
      在这里插入图片描述
  • 可访问的nacos控制台页面

访问localhost:8848/nacos地址.

通过登录用户名 密码

nacos/nacos
请添加图片描述

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

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

相关文章

设计模式之桥接模式

写在前面 本文看下桥接设计模式。 1:介绍 1.1:什么时候桥接设计模式 当一个业务场景由多个变化维度组成,并且这多个变化的维度到底有多少种情况是不确定,比如现在我们要为瑞幸咖啡写一个系统,很自然的,…

云计算的学习(四)

四、云计算中的存储基础知识 1.云计算虚拟化中的存储架构 ①虚拟化存储 在虚拟化存储架构中,最底层为物理磁盘。 底层的硬件组成存储池,存储池分为NAS存储和SAN存储;NAS存储需要文件系统;SAN存储需要对存储池进行逻辑划分产生逻…

Stability AI 把绘画门槛打为 0!

本文由 GPT- 4 所创作,配图由 Stable Doodle 生成。 编者按 Stability AI 上新了! 其收购的 Clipdrop 发布了全新的 Stable Doodle 工具,我在使用后最为直观的感受就是 —— 把绘画门槛打下来了。 在 Stable Doodle 之前,使用各…

动手学深度学习v2 p2 线性神经网络 线性回归

3. 线性神经网络 回归(regression)是能为一个或多个自变量与因变量之间关系建模的一类方法。 在自然科学和社会科学领域,回归经常用来表示输入和输出之间的关系。 在机器学习领域中的大多数任务通常都与预测(prediction&#xf…

node.js 第一天

目录 使用readFile()方法读取文件内容 判断文件是否读取成功 判断文件是否写入成功 案例 考试成绩整理 path path.join() path.basename() 使用readFile()方法读取文件内容 // 1. 导入 fs 模块,来操作文件 const fs require(fs)// 2.…

(ceph)资源池poll管理

资源池 Pool 管理 前面的文章中我们已经完成了 Ceph 集群的部署(ceph部署: 传送门),但是我们如何向 Ceph 中存储数据呢?首先我们需要在 Ceph 中定义一个 Pool 资源池。Pool 是 Ceph 中存储 Object 对象抽象概念。我们可以将其理解…

Jmeter(119)-函数threadNum妙用

今天的接口场景是:有N个用户需要每隔5秒去查询一次数据,也就是说N个用户会去循环执行同一个接口。一开始的时候将用户参数化时使用了counter, 要执行2个线程3次循环,发现每次循环时,接口中用户参数的数据就会不一样&am…

基于PyQt5的UI界面开发——菜单与工具栏

窗口类型 我们进入QtDesigner,创建主窗口有三种类型:QMainWindow、QDialog 和 QWidget。 在新建应用程序窗口,通常选择 MainWindow 创建主窗口的图形界面就可以了。QtDesigner 创建的 “MainWindow” 虽然是一个空白的图形窗口,但…

linux 基于debian_ubuntu AB系统适配(四)- 硬盘 wifi U盘无法使用问题

1、问题起因 使用原系统可以使用,但AB系统缺不行,开始怀疑是文件系统问题,于是我把AB系统的文件系统给替换到原系统中去,结果一样可以使用。于是替换了内核文件,结果不能使用了,那问题就出现在了内核中,刚开始以为是设备树的问题,于是拿原系统的设备树与AB系统的设备树…

[Docker异常篇]解决Linux[文件异常]导致开机Docker服务无法启动

文章目录 一:场景复现二:解决思路2.1: 对比其他节点docker配置2.2:试着修改为正常节点配置2.2:根据上面异常显示,不一定是配置不对,可能是文件系统有损坏 三:解决 -> 执行命令 mo…

黄皮书-线接触热弹流润滑 Fortran+Matlab转译代码

原Fortran代码有错误,进行了修改,数值上差别不大。根据Fortran代码转的Matlab,可以完美运行,但是因为精度问题有差异,只能说趋势是一致的。 需要私我-资源里只是Fortran运行结果

uniapp学习之【从一个小程序跳转到另一个小程序】

uni.navigateToMiniProgram({appId: ,path: pages/index/index?id123,extraData: {data1: test},success(res) {// 打开成功} })