# 示例Demo
本章节为您展示一个使用Spring Cloud Glodon
完成支持多云适配的示例工程。工程中用到了云中立对象存储object-storage-spring-boot-starter
和消息队列message-queue-spring-boot-starter
。
本示例工程的工作过程为(以阿里云环境为例):
1.提供一个简单的注册页面,项目配置完毕运行后,访问该注册页面,填入用户名、密码、邮箱以及上传头像,然后注册
2.后台将用户的头像上传到阿里云对象存储的bucket;将用户信息写入到阿里云
rds
;将用户信息发送到阿里云rocketmq
队列中;然后该工程中的rocketmq
消费者会读取到该用户信息,并且解析出用户邮箱,最后给该邮箱发送“注册成功”的邮件。3.同理,如果您是华为云的配置,那么对象存储和
rds
服务都应该是华为云的;如果是本地服务,那么对象存储使用的是minio
,数据库用的是本地mysql
# 操作步骤
# 1.maven的settings.xml配置文件添加仓库地址
<!-- scg maven仓库 -->
<repository>
<id>scg-private</id>
<name>maven-scg-private</name>
<url>http://packages.glodon.com/artifactory/maven-scg-private/</url>
</repository>
2
3
4
5
6
# 2.下载示例工程taikeystone-demo
打开后的工程示例如下图所示
# 3.配置工程(以阿里云为例)
由于该示例项目内含3套不同环境的演示,所以请针对您自己的需求进行配置。可在阿里云、华为云和本地进行配置。本示例以阿里云配置为例进行说明。
本示例工程中阿里云的配置文件为application-ali.yaml
。(华为云配置文件:application-huawei.yaml
;本地配置文件:applicaton-dev.yaml
)
请在启动实例时指定配置文件
java -Dspring.profiles.active=ali -jar taikeystone-1.0.0-SNAPSHOT.jar
;如果您使用idea,请在VM options中指定您使用的配置文件
-Dspring.profiles.active=ali
# 3.1在阿里云rds服务上创建数据库和表
本示例工程提供了运行所需要的建表语句,直接在rds
上运行示例工程目录下的user.sql
文件即可。
或者在您的rds
上直接执行如下sql
:
SET FOREIGN_KEY_CHECKS=0;
CREATE DATABASE `test` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(64) NOT NULL,
`passwd` varchar(64) NOT NULL,
`email` varchar(64) NOT NULL,
`createtime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`updatetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `unique_username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 3.2修改邮件配置
由于工程中用到了spring
提供的邮件服务,所以此处需要改为您自己的邮箱配置
# 3.3rds服务配置
将示例中的数据源配置修改为您的数据源
# 3.4阿里云 rocketmq 配置
修改阿里云rocketmq
的配置项为您自己在阿里云的配置。
# 3.5阿里云对象存储配置
# 3.6在阿里云创建bucket
如果您阿里云的对象存储服务中还没有您配置的上述bucket
,请登录阿里云对象存储控制台手动创建该bucket
并授予权限。
# 4.部署
修改完上述配置后,将该项目打包成jar
包,然后部署到您的阿里云环境中。
step1 打包:mvn clean package -DskipTests=true
step2 启动:java -jar -Dspring.profiles.active=ali taikeystone-1.0.0-SNAPSHOT.jar
也可以部署在容器中。总之,可以部署该应用。
# 5.测试
部署完毕后,浏览器访问服务http://your.aliyun.address:8080/register,进入注册页面,如下所示。
依次填入用户名、密码、确认密码、邮箱以及上传头像后,点击“注册”按钮。此时页面会显示“注册成功! 欢迎您成为广联达的一员 的提示。
此时,头像的图片已经上传到了您在yaml
配置文件中object-storage
下对应的bucket
中,您可登录阿里云对象存储控制台查看。
注册成功后,您注册的邮箱会收到一封注册成功的邮件提醒,表明该用户信息已经在阿里云rocketmq
中进行了消息创建与消费。您也可以登录阿里云rocketmq
控制台进行查看。
最后,注册成功后,您也可以从首页进行登录。
# 6.切换云厂商
您也可以切换华为云进行测试,华为云使用application-huawei.yaml
进行配置,在该配置文件配置您的华为云,然后使用:
step1 打包:
mvn clean package -DskipTests=true
step2 启动:
java -jar -Dspring.profiles.active=huawei taikeystone-1.0.0-SNAPSHOT.jar
本地测试使用的是application-dev.yaml
,在该配置文件配置您本地的配置,然后使用:
step1 打包:
mvn clean package -DskipTests=true
step2 启动:
java -jar -Dspring.profiles.active=dev taikeystone-1.0.0-SNAPSHOT.jar
注意
示例代码中包含的华为云、阿里云账号资源仅限于本Dome的测试验证,随时可能回收,最终解释权归云平台。