一、忽略各组件集群最主要骨架

二、本文主要会到的docker compose、nginx、sentinel、 getaway、nacos、author2、seata、openfen/dubbo、shardingpoxy、mysql、Redis、skywaking、easicsearch、prmetheus、grafana为了让主体框架跑起来,本文会采用docker编排技术(单台且不做集群)快速配置一键完成各组件安装,如后续有时间会针对各个组件进行详细的安装及各种集群模式的部署。
三、开始部署服务器及相关资源
1、服务器系统安装及准备可参考以下链接
微服务架构(一)简单的服务器虚拟框架选型及安装_Morik的博客-CSDN博客
2、docker compose安装:首先docker compose依赖于docker(可以参考文章前8小步进行安装:docker快速搭建测试数据库(Mysql、Oracle、SqlServer)及ftp文件服务器_Morik的博客-CSDN博客),以下是安装docker compose的命令:
#安装
[root@localhost ~]# curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#给执行权限
[root@localhost ~]# sudo chmod +x /usr/local/bin/docker-compose
#查看版本
[root@localhost ~]# docker-compose --version3、开始构建组件
-- 下载dev包(https://download.csdn.net/download/qq_29653373/29966716 或者百度云盘下载链接:链接:https://pan.baidu.com/s/1HSfgbx-u6B-5r_JOtY56NA
提取码:m8bm)到本地并上传到服务器解压(我放在 /home/dev 目录的)并酌情给文件权限
[root@instance-ns0s5xpv dev]# chmod 777 -R prometheus/data
[root@instance-ns0s5xpv dev]# chmod 777 -R prometheus/grafana/data
-- 进入/home/dev/sentinel 执行如下命令进行本地镜像生成
[root@instance-ns0s5xpv sentinel]# docker build -t sentinel .
-- 进入/home/dev/执行如下命令进行组件镜像下载编译运行(时间会比较长)
[root@instance-ns0s5xpv dev]# docker-compose -f dev.yml up -d-- 最终操作如下:

4、查看组件启动情况,全是up表示启动成功
[root@instance-ns0s5xpv dev]# docker-compose -f dev.yml ps

5、依次打开防火墙端口并登录相应的组件界面
6、所涉及组件采用1核2G的服务器就能跑起来,如果物理内存不够可开启swap分区进行减压
(1)、新建一个专门的文件用于swap分区(此文件的大小是count的大小乘以bs大小,下面 命令的大小大概是8GB)
[root@instance-ns0s5xpv dev]# dd if=/dev/zero of=/data/swap bs=1024 count=8388616(2)、通过mkswap命令将上面新建出的文件做成swap分区
[root@instance-ns0s5xpv dev]# mkswap /data/swap(3)、查看内核参数vm.swappiness若vm.swappiness为0则根据实际需要调整成30或者 60(若想永久修改,则编辑/etc/sysctl.conf文件)
[root@instance-ns0s5xpv dev]# cat /proc/sys/vm/swappiness
[root@instance-ns0s5xpv dev]# sysctl -a | grep swappiness
[root@instance-ns0s5xpv dev]# sysctl -w vm.swappiness=60(4)、启用此交换分区的交换功能
[root@instance-ns0s5xpv dev]# swapon /data/swap
[root@instance-ns0s5xpv dev]# echo "/data/swap swap swap defaults 0 0" >> /etc/fstab(5)、关闭swap分区
[root@instance-ns0s5xpv dev]# swapoff /data/swap
[root@instance-ns0s5xpv dev]# swapoff -a >/dev/null7、其他docker及docker-compose命令行备注:
查看docker编排容器运行的服务:docker-compose -f dev.yml ps
停止docker编排容器:docker-compose -f dev.yml stop
删除docker编排容器:docker-compose -f dev.yml rm
停止docker容器:docker stop 容器ID
docker编译DockerFile本地镜像:docker build -t sentinel .
清理未运行的docker镜像:docker rmi $(docker image ls -a -q)
进入docker镜像内部:docker exec -it yapi /bin/sh
部署完在yapi容器里启动命令:node /my-yapi/vendors/server/app.js
退出执行ctrl+c,退出docker输入终端命令exit