• 微服务初始和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数据库,是内置本地数据库,可以保证数据不丢失;

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

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

    5)开始配置

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

    7)选择SpringBoot的版本是最新版本3.0.2,输入nacos进行搜索

    第一个代表注册中心,第三个表示配置中心

    第二个用于给限流熔断的时候要存储限流的规则和数据,A接口限流多少,B接口限流多少,Sentinel使用内存来存储,重启以后就没了,他本身不支持MYSQL,给Sentinel做数据源;

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

    8)设置nacos配置信息

    如果有分组的需求可以设置分组,spring.config.import后面的值必须等于配置信息中的DataID

    9)读取信息

    微服务和微服务之间如何进行通讯,很多服务连成一个应用,也就是内部组件之间的通信,不能将IP写死,去进行调用,如果对应的服务挂了,此时就不能修改,因为服务很多的,不光写法麻烦,还没有健康检测机制,所以引入了注册中心;

    还有前端模块是如何和微服务之间进行通讯的问题

    Nacos注册中心:

    1)服务注册(服务的提供方将服务存储起来):将统一的服务注册到注册中心里面,好处就是我将A服务,B服务注册到注册中心里面,A服务挂了,那么此时注册中心是可以检测到服务的健康状态的(基于健康检测机制),挂掉的服务此时注册中心就不会将这个IP进行对外暴露了

    2)服务发现(将服务的注册的健康节点列表给需要调用的消费者)将注册中心的健康节点给别人​​​​​​​

    一)将服务注册到nacos:

    1.1)启动nacos服务器

    1.2)添加nacos注册中心配置,Nacos discovery

    1.3)配置Nacos链接信息

    1.4)编写调用接口(开发接口)

    当项目启动以后,当前项目就会自动注册到注册中心Nacos中

    SpringBoot多模块项目:

    需要选中的依赖:OpenFeign(消费者调用生产者接口,负责服务之间发送HTTP请求的),Cloud LoadBalancer(负载均衡器),Nacos Service Discovery(nacos注册中心)

  • 相关阅读:
    Paragon NTFS15是什么?Mac外置硬盘读写必备工具
    觉哥java网站踩坑+bug记录(困扰一分钟以上的问题全记录)
    windows 10中R的环境变量配置
    JAVA--AI编程助手【代码智能补全工具】盘点,让AI提高你的编程效率
    React项目中Antd组件库 Tab选项卡 defaultActiveKey 不生效解决方案
    我给网站做公安备案年度安全评估
    企业数字化&信息化运营管理规划方案
    大数据学习1.1-Centos8虚拟机安装
    【MySQL】数据库基础
    免费分享一套SpringBoot+Vue自习室(预约)管理系统,帅呆了~~
  • 原文地址:https://blog.csdn.net/weixin_61518137/article/details/134068402