一)初始微服务:
微服务是将一个大型的,单一的应用程序拆分成多个小型服务,每一个服务负责于特定的业务功能,并且可以通过网络来和其他服务进行通讯,是一个思想,将一个大的项目拆分成多个小的项目,多个小的项目之间可以进行网络通信;
优点:
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)读取信息