Staffjoy本地部署架构
相关软件
Skywalking
https://github.com/apache/skywalking
本地部署启动
部署步骤
1. 清理释放内存
2. 部署MySQL数据库
staffjoy_account
staffjoy_company
创建数据库
create database staffjoy_account;
create database staffjoy_company;
创建表-对应的SQL脚本文件
检查表是否创建完成
3. 部署Skywalking
https://archive.apache.org/dist/incubator/skywalking/
apache-skywalking-apm-incubating-6.0.0-beta.zip
bin/startup.sh
访问Skywalking Web界面
IDE设置Skywalking-agent
4. 部署服务
本地机密数据配置
依次启动项目
mail->bot->account->company->www->whoami->faraday
查看Skywalking监控到的服务
5. 部署前端应用
npm install
npm start
6. 启动SwitchHosts
127.0.0.1 account.staffjoy-v2.local
127.0.0.1 faraday.staffjoy-v2.local
127.0.0.1 myaccount.staffjoy-v2.local
127.0.0.1 whoomi.staffjoy-v2.local
127.0.0.1 www.staffjoy-v2.local
127.0.0.1 ical.staffjoy-v2.local
127.0.0.1 staffjoy-v2.local
127.0.0.1 app.staffjoy-v2.local
127.0.0.1 company.staffjoy-v2.local
Docker和Docker Compose
容器用途
- 标准化打包
- 隔离
- 标准化部署
OS & Kernel
操作系统内核主要负责管理底层操作系统系统硬件,用户空间调用内核空间的内容。虚拟机和容器
虚拟机主要在宿主机上通过Hypervisor创建虚拟化的硬件,可以虚拟出CPU、磁盘、网卡等等。在Hypervisor上面运行操作系统。容器是构建在宿主机之上。虚拟机的隔离性比较好,是一种强隔离机制,但他比较重量,启动的时候慢,消耗资源很多。容器的隔离是基于软件的,比较轻量,启动速度比较快,一般是秒级的,消耗的资源也比较少。在同一个主机上启动容器的数量要远远多于虚拟机的启动数量。Docker容器核心技术
CGroups:控制CPU和内存资源的使用量。负责资源的隔离
Namespaces:控制每个容器都有相互隔离的进程,文件系统,网络等空间。
Networking:实现容器网络底层技术,包括虚拟网卡,虚拟网桥,容器网络组网等等。
Storage(存储):Docker容器支持一些存储驱动。容器镜像
Docker架构
https://docs.docker.com/get-started/overview/
Docker Compose
Docker Compose主要用于定义和运行多容器应用的工具。
将微服务部署至Docker Compose环境
1、镜像构建
mvn clean package -DskipTests
docker-compose build
docker images
2、部署MySQL数据库
3、部署Staffjoy
docker-compose up
docker-compose ps
4、启用SwitchHosts
127.0.0.1 account.staffjoy-v2.local
127.0.0.1 faraday.staffjoy-v2.local
127.0.0.1 myaccount.staffjoy-v2.local
127.0.0.1 whoomi.staffjoy-v2.local
127.0.0.1 www.staffjoy-v2.local
127.0.0.1 ical.staffjoy-v2.local
127.0.0.1 staffjoy-v2.local
127.0.0.1 app.staffjoy-v2.local
127.0.0.1 company.staffjoy-v2.local
5、校验Staffjoy
6、清理
docker-compose down