Nacos 背景分析
在微服务中,首先需要面对的问题就是如何查找服务(软件即服务),其次,就是如何在不同的服务之间进行通信?如何更好更方便的管理应用中的每一个服务,如何建立各个服务之间联系的纽带,由此注册中心诞生(例如淘宝网卖家提供服务,买家调用服务)。
市面上常用注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google),那他们分别都有什么特点,我们如何进行选型呢?我们主要从社区活跃度,稳定性,功能,性能等方面进行考虑即可.本次微服务的学习,
选择使用Nacos
我们选择Nacos,它很好的支持了阿里的双11活动,不仅可以做注册中心,还可以作为配置中心,稳定性和性能都很好.
概述
Nacos 是一个服务注册与发现,配置管理的平台。它孵化与阿里巴巴,成长与十年双十一的洪峰考研 ,沉淀了简单易用,稳定可靠,性能卓越的核心竞争力。官网
https://nacos.io/zh-cn/docs/quick-start.html
构建Nacos服务
windows搭建
配置JAVA_HOME环境变量设置。打开doc窗口命令 JAVA_HOME
Mac
查看命令
java -version
echo $JAVA_HOME
若没有输出结果就说明你配置的环境变量没有生效
配置JAVA_HOME
1.找到java安装路径
/usr/libexec/java_home
2.设置JAVA_HOME
vim ~/.bash_profile
配置java_home文件
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH:
export JAVA_HOME
export CLASSPATH
export PATH
:wq保存退出
更新文件
source .bash_profile
输入
echo $JAVA_HOME
显示地址,则说明安装成功
确保mysql版本是5.7以上
下载安装
https://github.com/alibaba/nacos/releases
选择你需要的版本
解压Nacos
它自生的SQL文件直接导入数据库是不成功的,它内部没有创建数据库与使用数据库
导入数据文件nacos-mysql.sql
提取码:bzxn
source d:/nacos-mysql.sql
执行成功以后,会创建一个nacos_config数据库,打开数据库会看到一些表,例如;
- 打开Nacos文件 打开/conf/application.properties里打开默认配置,并基于你当前环境配置要连接的数据库,连接数据库时使用的用户名和密码(假如前面有"#"要将其去掉):
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
服务启动与访问
在解压文件Nacos bin目录下执行
Linux/Unix/Mac启动命令(standalone代表着单机模式运行,非集群模式):
./startup.sh -m standalone
Windows启动命令(standalone代表着单机模式运行,非集群模式):
startup.cmd -m standalone
启动方式脚本启动
windows脚本
创建.sh文件
把启动命令加入脚本文件中
Linux 脚本写法
#!/bin/bash
./startup.sh -m standalone
启动nacos前检查是否配置JAVA_HOME
数据库nacos_config是否存在
打开浏览器,输入http://localhost:8848/nacos地址,出现如下登陆页面:
用户名跟密码都是
nacos