main
HuangHai 2 months ago
parent 3c1cecbccd
commit f327a4ec3d

@ -1,101 +0,0 @@
### 安装文档
> https://rocketmq.apache.org/zh/docs/4.x/quickstart/01quickstart
>
#### 安装$JDK$
```
cd /usr/local
rz -be
jdk-8u421-linux-x64.tar.gz
tar -xvf jdk-8u421-linux-x64.tar.gz
rm -rf jdk-8u421-linux-x64.tar.gz
mv jdk1.8.0_421/ jdk
vi /etc/profile
GG到最后
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
```
#### 安装$RocketMQ$
```shell
cd /usr/local
mkdir rocketmq
rz -be
rocketmq-all-4.9.4-bin-release.zip
unzip rocketmq-all-4.9.4-bin-release.zip
rm -rf rocketmq-all-4.9.4-bin-release.zip
mv rocketmq-all-4.9.4-bin-release/ rocketmq
cd rocketmq
### 启动namesrv
nohup sh bin/mqnamesrv &
### 验证namesrv是否启动成功
tail -f /root/logs/rocketmqlogs/namesrv.log
2024-07-31 13:48:37 INFO main - The Name Server boot success. serializeType=JSON
### 启动Broker
nohup sh bin/mqbroker -n localhost:9876 &
### 验证broker是否启动成功
tail -f /root/logs/rocketmqlogs/broker.log
main - The broker[RockyLinux, 10.10.14.210:10911] boot success. serializeType=JSON and name server is localhost:9876
```
#### 消息收发
```
export NAMESRV_ADDR=localhost:9876
cd /usr/local/rocketmq
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
```
#### 关闭服务器
```shell
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
```
#### 主题维护
```shell
cd /usr/local/rocketmq/bin
# 创建主题
./mqadmin updateTopic -n 10.10.14.210:9876 -c DefaultCluster -t HuangHaiTest
# 创建或重置一个名为 TOPIC_NAME 的 topic并将该 broker 组的读写队列数皆设为 4 个。
./mqadmin updateTopic -n 10.10.14.210:9876 -b 10.10.14.210:10911 -t HuangHaiTest -w 4 -r 4
# 查看主题
./mqadmin topicList -n 10.10.14.210:9876 -c
# 删除主题
./mqadmin deleteTopic -n 10.10.14.210:9876 -c DefaultCluster -t HuangHaiTest
```

@ -2,16 +2,14 @@
整体架构分为三部分:数据库类、文件存储类、$WEB$程序类(前端与后端、小程序、公众号等统称)
### 二、数据库类
指$Postgresql$,$Redis$等用于数据库和缓存的应用程序
指$Mysql$,$Redis$等用于数据库和缓存的应用程序
本地部署:
采用$Docker$容器化部署,方便本地调试,方便云端部署。
云端部署:华为云的云数据库 PostgreSQL
云端部署:华为云的云数据库 Mysql
https://www.huaweicloud.com/product/pg.html
数据库引擎和版本
https://support.huaweicloud.com/productdesc-rds-pg/zh-cn_topic_0043898356.html
### 三、文件存储类
本地部署:采用支持$S3$协议的$Mino$来处理
@ -25,17 +23,14 @@ https://www.huaweicloud.com/product/cce.html
### 五、微服务技术选型
哲学:可控+极简
关键词JFinal+Postgresql+Redis+K8S(CCE)+Mino(Obs)
1、JFinal框架
关键词JFinal+Mysql+Redis+K8S(CCE)+Mino(Obs)
JFinal框架
JFinal是一个轻量级Java Web框架它使用MVC设计思想并使用Maven进行依赖管理使用JDK21进行开发
使用Postgresql作为数据库使用Redis作为缓存使用K8S(CCE)作为容器引擎使用Mino(Obs)作为文件存储引擎。
使用Mysql作为数据库使用Redis作为缓存使用K8S(CCE)作为容器引擎使用Mino(Obs)作为文件存储引擎。
选择理由代码极简占用内存少依赖少完全可控。反观SpringCloud, 结构复杂,资源占用大,依赖多,维护麻烦。
苏州项目之所以无法各地完成部署很大程度是因为庞大的机器数量需求动辄30余台的服务器普通用户无法承受。
本系统中网关自行实现代码极简完全可控在AI时代写完的代码让AI帮助检查代码逻辑错误和潜在风险不存在无法大规模部署的问题。
2、Postgresql数据库
Postgresql是一个开源的关系数据库使用Postgresql作为数据库相对于Mysql, Postgresql更加稳定更加安全更加可靠。
Postgresql支持事务支持ACID支持分布式事务支持主从复制支持读写分离支持水平扩展支持垂直扩展支持备份恢复支持恢复点支持快照支持快照恢复支持快照复制支持快照复制恢复支持快照复制恢复点支持快照复制恢复点恢复支持快照复制恢复点恢复点支持快照复制恢复点恢复点恢复支持快照复制恢复点恢复点恢复点恢复支持快照复制恢复点恢复点恢复点恢复点恢复支持快照复制恢复点恢复点恢复点恢复点恢复点恢复支持快照复制
https://www.postgresql.org/docs/current/index.html

@ -1,18 +0,0 @@
### 拉取镜像
```shell
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:latest
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:latest docker.io/postgres:latest
# 创建数据卷
docker volume create postgres-volume
# 创建容器
mkdir /var/lib/postgresql/data -p
docker run -d --name=postgres17 -p 5432:5432 -v postgres-volume:/var/lib/postgresql/data -e POSTGRES_PASSWORD=DsideaL147258369 -e POSTGRES_USER=postgres docker.io/postgres:latest
# -d 将以分离模式运行此容器,以便它在后台运行。
# --name 将名称“postgres13”分配给您的容器实例名字,通过这个名字以后可以直接启动
# -p会将 PostgreSQL 容器端口 5432 绑定到主机上的相同端口外部通过5432这个命令可以直接访问
# -v选项将容器内的目录/var/lib/postgresql绑定到postgres-volume上保证你以后的数据不会丢失
# -e设置环境变量。在这种情况下PostgreSQL表示容器的密码
```
Loading…
Cancel
Save