微服务框架(三十一)Docker项目发布流程

简介: 此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。本文为Docker项目发布流程本系列文章中所使用的框架版本为Spring Boot 2.0.3-RELEAS...

  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。

  本文为Docker项目发布流程

本系列文章中所使用的框架版本为Spring Boot 2.0.3-RELEASE,Spring 5.0.7-RELEASE,Dubbo 2.6.2。

Piplin部署

piplin的详细部署流程见微服务框架(二十一)Piplin 持续部署 Docker 容器

目前所有的算法微服务暴露两个端口,9700段为服务调用端口,22800段为服务QOS端口,
所有的服务均会通过zookeeper注册中心获取服务地址

发布流程

docker镜像标签、git标签、构建产物版本 应严格保持一致
部署环境的环境名称需与spring.profiles.active的项目配置名称保持一致

  1. 项目设置docker镜像标签image.tag(如1.0.1)
  2. git tag的标签与docker镜像标签保持一致(如1.0.1)
  3. gitlab-CI标签自动触发,打包对应版本的docker镜像并上传至docker私有仓库
  4. 由标签事件触发piplin Webhook,自动构建对应版本产物
  5. 创建构建产物版本与docker镜像标签保持一致(如1.0.1)
  6. 机柜直接发布 或 选择灰度服务器灰度发布

容器启动时可 动态选择配置文件配置线程策略、线程数等参数
(e.g. --spring.profiles.active=dev --dubbo.provider.timeout=1500)

灰度部署流程

可在piplin设置灰度服务器,并手动发布

若为REST接口,可依照每个服务至少需要两台服务器,按照目前的调用情况,维持一台权重为 100,另一台权重为 50,并实时根据调用情况做调整

管理中心

若希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式。

dubbo.registry.dynamic = false

服务提供者初次注册时为禁用状态,需人工启用。断线时,将不会被自动删除,需人工禁用。

dubbo-admin后台启动禁用操作

相关文章
|
2月前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
2天前
|
Ubuntu NoSQL 关系型数据库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
53 28
|
21天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
45 3
实战~如何组织一个多容器项目docker-compose
|
26天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
90 24
|
28天前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
124 6
|
2月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
2月前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
2月前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
2月前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
2月前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
86 1