1、Nacos是 Dynamic Naming and Configuration Service的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
2、Nacos 帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
3、Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
在软件发展初期,企业还是传统的单体应用架构,将所有的功能都打包成一个应用服务进行部署。随着业务体系的不断发展扩大,单体应用架构的弊端日益显现。
如果可以把一个大的应用服务按照不同的维度和领域拆分成若干个子服务,各个业务团队只需要专注于自身负责的服务,各自进行开发部署迭代,不相互影响,那该多好。因此,传统的单元应用架构开始朝着微服务架构方向演进。演进过程中首要问题就是微服务如何相互发现对方进行调用?我们将这种相互发现、相互调用的能力称之为微服务注册发现。Nacos就具备这种微服务注册发现能力。
作为当前主流的服务注册发现配置中心之一,Nacos已经成为了国内开发者的首选,有着广泛的群众基础。
CSE服务注册发现配置中心引擎service-center目前支持SpringCloud Huawei、ServiceComb微服务框架,而当前国内主流框架是基于SpringCloud Alibaba、Dubbo等,这些框架集成了Nacos作为注册发现配置中心。
为了拥抱开源体系的注册发现配置中心,提高CSE的竞争力,吸引更多的用户,CSE新增了支持托管Nacos集群的特性。
1、使用root登录到mysql
2、使用create database命令建立数据库, 把要创建的数据库命令写到记事本中
3、把记事本中的命令粘贴到mysql的命令窗口
4、show database;查看已有的数据库列表
5、执行mysql
1、查看网卡ip地址
2、把当前目录改到nacos下
3、找到目录中的文件application-properties
4、vi application-properties,找到mysql对应的服务器地址,修改为本地配置好的mysq地址
5、修改后的结果,如下图:
1、查看bin目录下的文件,找到startup.sh
2、执行下面命令前 看startup.sh是否可执行,如果不是执行chmod +x startup.sh
(1)执行startup.sh
(2)使用命令chmod +7 *.sh 配置权限
3、进入 nacos\nacos-server-1.4.1\nacos\bin,后台执行启动nacos
nohup bash startup.sh -m standalone &
4、查看nacos服务器上的防火墙是否开启了8848端口,
(1)连接失败说明未开启端口
(2)使用netstat –ano命令查看已经开启的端口号有哪些,如下图:
5、使用命令开启8848端口号
Sudo firewall-cmd –add-port=8848/tcp --permanent
6、访问地址http://X.X.X.X:8848/nacos 默认账号密码 nacos yuanfeng021
(1)访问出现登录框,如下图:
(2)输入用户名和密码nacos yuanfeng021,登录后,如下图:
上图中,已经创建了配置pro,并加入了.xml的配置文件。至此,Nacos服务器搭建完成。
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
1、 分布式事务
一次业务操作需要跨多个数据源或者需要跨多个系统进行远程调用,就会产生分布式事务问题。
分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务。如创建订单减库存事务,银行转账事务等都是分布式事务
案例:用户下订单操作,设计订单库新增订单数据,库存库减库存信息;账户库减金额操作,涉及3张数据库,2次远程调用,具有很明显的分布式事务问题。
2、seata的作用以及组件
seata是一款解决分布式事务的解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
1、AT 模式
前提
(1)基于支持本地 ACID 事务的关系型数据库。
(2)Java 应用,通过 JDBC 访问数据库
2、TCC 模式
回顾总览中的描述:一个分布式的全局事务,整体是两阶段提交的模型。全局事务是由若干分支事务组成的,分支事务要满足两阶段提交的模型要求,即需要每个分支事务都具备自己的:
(1)一阶段 prepare 行为
(2)二阶段 commit 或 rollback 行为
3、Saga 模式
Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。
业务流程长、业务流程多。参与者包含其它公司或遗留系统服务,无法提供 TCC 模式要求的三个接口
一阶段提交本地事务,无锁,高性能。事件驱动架构,参与者可异步执行,高吞吐。补偿服务易于实现
不保证隔离性
1、找到配置目标conf
2、把当前目录改到conf下,如下图:
3、file.conf 修改成mysql所在的数据链接,如下图:
主要修改所在行:
url =”jdbc:mysql://192.168.0.131:3306”
user=”root”
password=”root”
registry.conf 修改 nacos 访问地址
4、修改registry.conf注册配置文件,改为nacos的用户名和密码。
5、seata服务器启动
(1)执行下面命令前 看seata-server.sh是否可执行,如下图:
(2)上图说明JAVA_HOME的定义不正确,需要检查JAVA_HOME的设置以JDK的安装路径。
(3)、如果不能执行,赋予seata-server.sh权限,如下图:
chmod +7 seata-server.sh
6、使seata服务器以后台运行的方式启动
(1)nohup ./bin/seata-server.sh -p 8091 -h XXX.XXX.XXX -m file >nohup.out 2>1 &
注:XXX.XXX.XXX修改为自己服务器 ip ,执行如下图:
(2)执行完成后无错误提示,如下图:
7、查看seata 日志能显示出日志信息,如下图:
至此,seata服务启动完成。