[Java技能树] 软件架构(SOA+微服务)

29次阅读

共计 2060 个字符,预计需要花费 6 分钟才能阅读完成。

SOA
概念: 是一种粗粒度、松耦合服务架构,各服务间均需要基于 ESB(Enterprise Service Bus,企业服务总线)进行消息通信

微服务

概念: 它是 SOA 的细粒度体现。将单体架构系统按照业务进行垂直切分成独立的服务,并独立部署、运行;各服务间通常是基于 RESTful API(同步)和消息队列(MQ,异步)进行通信。

框架工具

Spring Boot, Spring Cloud

Docker 容器

主要解决的问题:1、通过镜像的方式将应用和运行环境一起打包部署,能做到开发、测试、线上环境保持一致 2、作为一种新的虚拟化技术,降低了传统虚拟化技术带来的成本
Docker 的安装: yum -y install docker

相关概念:
– 镜像: 镜像是一个只读的文件系统,包括应用文件、环境文件。它通常包含堆叠在彼此之上的联合分层文件系统。一个 Docker 容器中往往有多个不同的镜像。镜像没有状态并且始终不会发生更改。
– 自定义镜像, 及其两种方式
– 通过 Dockerfile 文件快速创建镜像, 编写 Dockerfile 文件,然后执行 docker build 命令创建镜像
– 使用 docker commit 命令从容器创建一个新的镜像
– 仓库
– 本地镜像仓库
– 远程镜像仓库
– 容器
– Docker 容器是 Docker 镜像的运行时实例。Docker 容器中包含 Docker 镜像执行环境一组标准指令此概念借用自船运集装箱,它们定义了在全球运送货物的标准。Docker 定义了交付软件的标准。

常用命令:
– 登录 Docker 镜像仓库: docker login [OPTIONS] [SERVER]
– 搜索远程仓库镜像,如 docker search centos 表示搜索与 centos 相关的镜像: docker search [OPTIONS] TERM
– 从远程仓库拉取镜像到本地,默认 tag(版本号)是 latest: docker pull [OPTIONS] NAME[:TAG|@DIGEST]
– OPTIONS: -a : 拉取所有 tagged 镜像
– 如:docker pull centos 表示拉取最新的 centos 镜像到本地
– docker rmi [OPTIONS] 镜像 ID/ 仓库名: 镜像名
– 删除本地仓库中的镜像
– OPTIONS:-f:强制删除
– docker run [OPTIONS] [镜像 ID/ 仓库名: 镜像名]
– 包含两步操作:1、将镜像放到容器中 2、启动容器,相当于 docker start
– OPTIONS:1)-i:以交互模式运行,通常与 -t 一起使用简写为 -it2)-d:以后台程序运行,并返回容器 ID3)-p:指定端口映射,宿主机端口: 容器端口 4)–name:为容器指定一个名称
– docker run -it 镜像 ID/ 仓库名: 镜像名 /bin/bash 可以进入 docker 容器中的命令行模式 exit 或 Ctrl+D 命令退出并销毁当前 docker 容器 Ctrl+P,Ctrl+ Q 也可退出,且不会销毁 docker 容器
– 端口映射
– 命令格式:docker run -p 宿主机端口: 容器端口 docker run -P
– -p:指定映射端口 -P:随机映射端口
– 1)使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口;2)- p 则可以指定要映射的 IP 和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、ip::containerPort。
– 如:docker run -p 80:80 –name mynginx -p 80:80:将容器的 80 端口映射到主机的 80 端口 –name mynginx:将容器命名为 mynginx
– 如创建并启动 mysql 容器:docker run –name mysql -p 3306:3306 -v /var/lib/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7 其中 –name 指定容器以 mysql 命名, -p 指定端口映射,-v 指定挂载宿主机目录,-e 指定环境变量,-d 指定镜像
– docker start/stop/restart < 容器名或 ID>
– 启动, 停止, 重启 (相当于停止 + 启动)
– docker rm < 容器名或 ID>
– 删除指定的容器,该容器必须已经停止运行
– docker commit < 容器名或 ID>
– 使用容器创建镜像
– docker push [仓库名: 镜像名]
– 将本地镜像推送至远程仓库
– docker ps [OPTIONS]
– 查看容器
– 如:docker ps:查看正在运行的容器 docker ps -a:查看所有的容器,包括已经停止的
– docker images [OPTIONS] [REPOSITORY[:TAG]]
– 查看本地有哪些镜像
– docker logs < 容器名或 ID>
– 查看容器日志
– docker port < 容器名或 ID>
– 查看容器端口映射情况
– docker exec -it < 容器名或 ID> bash
– 以交互模式进入正在运行的容器,输入 exit 则退出

正文完
 0