演示环境搭建
警告
- 如果您只是想搭建 Dante Cloud 玩玩,或者看看界面随便点点,那么建议直接搭建 Dante Cloud 单体版本,无需搭建复杂环境,可以快速看到效果。
- 因为很多生态组件并未支持响应式,比如说 Spring Authorization Server,所以非开源版(商业版)的单体版,无法使用响应式,因此除了底层架构不同外,相关的功能和开源版本基本一致。所以,想搭建单体版看效果,搭建开源版本即可。
- 微服务的重点是在后端,而不是前端界面。所以,不要用单体系统的思维,来看待微服务系统以及微服务系统的前端。可以快速变化、功能简单、类型多样的前端才更符合微服务架构,这也是“大中台、小前台”核心理念。
- 如果您想使用 Dante Cloud 响应式版本,又苦于看不到具体的内容,Dante Cloud 响应式版本提供的容器化的搭建方式,可以按照下面的说明,搭建系统了解相关内容。
注:微服务系统的搭建过程也是了解一个产品的第一步,也是评判一个产品好坏的关键要素。不上手操作一下,得出的结论也不会客观。
[一]Docker环境安装
为了方便安装和运行,演示系统完全采用 Docker 环境进行部署,所以需要有 Docker 环境。
如果您想在 Windows 环境下安装运行 Docker 环境,具体安装和配置方式,参见:【本地 Docker 安装配置】
如果是要在 Linux 或者其它操作系统中安装 Docker,请自行百度。
提示
近期国内对 Docker 相关内容进行了屏蔽,为了方便使用,Dante Cloud 已经将相关内容同步至 Quay.IO 系统,目前均可以正常拉取镜像使用。
涉及的镜像均只是把相关软件官方镜像进行了搬迁,并未做任何更改或包装。Dante Cloud 自己封装的镜像均已经做了多平台支持。所以可以放心使用。
[二]Postgresql 和 Redis安装
[1]软件安装
建议 Postgresql 和 Redis 均采独立安装方式,具体安装和配置方式,参见【基础组件安装配置】。
当然,您可以选择自己喜欢的镜像进行安装,这里不做限制。
既然是运行演示,跑起来才是第一要义,就不要纠结能不能用 MySQL 了。
[2]新建数据库
Postgresql 安装完成之后,需要建两个数据库,一个用于系统本身,一个用于 Nacos。
- 创建系统数据库脚本
// 创建用户 herodotus 密码是 herodotus
CREATE USER herodotus WITH PASSWORD 'herodotus';
// 创建数据库 herodotus_reactive, 并将用户 herodotus 分配给该数据
CREATE DATABASE herodotus_reactive OWNER herodotus;
// 将数据库 herodotus_reactive 的所有权限分配给 herodotus
GRANT ALL PRIVILEGES ON DATABASE herodotus_reactive TO herodotus;
- 创建Nacos数据库脚本
// 创建用户 nacos 密码是 nacos
CREATE USER nacos WITH PASSWORD 'nacos';
// 创建数据库 nacos, 并将用户 nacos 分配给该数据
CREATE DATABASE nacos OWNER nacos;
// 将数据库 nacos 的所有权限分配给 nacos
GRANT ALL PRIVILEGES ON DATABASE nacos TO nacos;
[三]Nacos 和 Kafka安装和配置
[1]Nacos数据库初始化
上一步,Nacos 数据库新建完成之后,下载数据库初始化脚本,建表和初始化数据。
[2]Nacos安装和运行
Nacos 和 Kafka 使用 Docker Compose 安装和运行。 Docker Compose 脚本如下:
services:
nacos:
image: quay.io/herodotus-cloud/nacos-server:v2.4.2
container_name: nacos
environment:
MODE: standalone
# SPRING_DATASOURCE_PLATFORM: mysql
# MYSQL_SERVICE_HOST: 192.168.101.10
# MYSQL_SERVICE_PORT: 13306
# MYSQL_SERVICE_USER: nacos
# MYSQL_SERVICE_PASSWORD: nacos
# MYSQL_SERVICE_DB_NAME: nacos
# MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
SPRING_DATASOURCE_PLATFORM: postgresql
POSTGRESQL_SERVICE_HOST: 192.168.101.10
POSTGRESQL_SERVICE_PORT: 15432
POSTGRESQL_SERVICE_USER: nacos
POSTGRESQL_SERVICE_PASSWORD: nacos
POSTGRESQL_SERVICE_DB_NAME: nacos
POSTGRESQL_SERVICE_DB_PARAM: tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos
NACOS_AUTH_IDENTITY_KEY: serverIdentity
NACOS_AUTH_IDENTITY_VALUE: security
NACOS_AUTH_TOKEN: SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_ENABLE: true
volumes:
- D:\\local-cached\\docker-volumes\\nacos\\datas:/home/nacos/data
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
kafka:
image: quay.io/herodotus-cloud/kafka:3.8.0
container_name: kafka
hostname: broker
environment:
KAFKA_NODE_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT"
KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT_HOST://192.168.101.10:9092,PLAINTEXT://broker:19092"
KAFKA_PROCESS_ROLES: "broker,controller"
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@broker:29093"
KAFKA_LISTENERS: "CONTROLLER://:29093,PLAINTEXT_HOST://:9092,PLAINTEXT://:19092"
KAFKA_INTER_BROKER_LISTENER_NAME: "PLAINTEXT"
KAFKA_CONTROLLER_LISTENER_NAMES: "CONTROLLER"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
ports:
- "9092:9092"
注
相关内容请根据自己环境进行修改
[3]Nacos配置导入和修改
下载配置
先下载 Nacos 配置,方便后续导入
打开控制台
Nacos 运行成功之后,访问 http://localhost:8848/nacos 打开 Nacos 控制台。使用默认账号 nacos
和密码 nacos
进行登录。
提示
当前版本 Dante Cloud 为了提升安全性,服务发现以及控制台,默认是开启了 Nacos 认证的。所以需要登录认证。
新建命名空间
打开 Nacos 控制台,用 ID:00a14001-348d-40a7-82aa-e2e032f6e03c
新建一个命名空间。
避免使用默认命名空间,产生不必要的麻烦或冲突。这个 ID 是系统内默认命名空间 ID,使用该 ID 创建命名空间,可以减少配置修改。
导入配置
Nacos 控制台中,选择刚刚建好的命名空间,导入配置。具体导入方法如果了解的话,可以看【导入 Nacos 配置】
修改配置
导入配置后,找到 development
Group 下的 herodotus-cloud-environment.yaml
配置文件进行修改。
[四]首次运行服务
[1]下载文件
下载系统服务运行所需的两个文件:【.env】 和 【docker-compose.yml】
[2]修改文件
.env
和 docker-compose.yml
两个文件下载之后,需要进行一定的修改
.env
:如果前序操作都是严格按照前面文章内容操作,那么.env
中就进需要修改 Nacos 的地址即可docker-compose.yml
:请根据实际修改该文件中的volumes
映射文件夹。这个地址就是存放服务日志的映射目录。
其它信息结合实际情况修改即可
[3]启动服务
相关信息修改完成之后,使用下面命令,执行脚本运行服务:
docker-compose -f ${file-home}/quick-start.yml --env-file= ${file-home}/.env up -d
[五]数据配置
[1]初始化数据
所有服务启动之后,数据库中就会自动生成数据表,以及部分初始数据。
点击下载【数据库初始化脚本】,手动导入数据库进行数据库初始化。详细说明参见:【重置缓存】
[2]清理缓存
将所有Dante Cloud 服务停止,访问 Redis 清理所有缓存数据。详细说明参见:【重置缓存】
[3]再次启动服务
Redis 缓存清理完成之后,按照顺序再次启动服务。如果您采用手动方式启动服务,想要了解具体的启动顺序,参见:【服务启动顺序说明】
[六]登录系统
之前所有的操作完成之后,在浏览器中访问:http://localhost:8888,使用默认用户和密码:system
/ 123456
登录系统
[七]问题反馈
自2024年6月起,Dante Cloud 解散了所有普通交流群。不再支持常规交流。如果您有问题需要沟通交流,可以在 Gitee Dante Cloud 项目中新建 ISSUE 或者选择加入 VIP 群,加入方法参见:【VIP群】。
注
提 ISSUE 或者提问时,请提供清晰的问题描述以及环境部署说明,这样才有助于分析解决问题。既然选择了提问,就没必要藏着掖着,更不要玩侦探猜谜游戏,写一句话贴一张图就让作者陪着猜来猜去。