微服務(wù)下 Spring Boot 應(yīng)用多環(huán)境發(fā)布

說明

解決微服務(wù)在多套環(huán)境發(fā)布的問題,解決開發(fā)環(huán)境和預(yù)發(fā)環(huán)境切換的問題,支持 N 套開發(fā)環(huán)境水平擴(kuò)展。

Spring Boot Dockerfile 通用模板

FROM registry.cn-hangzhou.aliyuncs.com/micro-java/openjdk:8-jre-alpine
MAINTAINER 545544032@qq.com
ENV TZ="Asia/Shanghai" JVM_PARAMS=" " SPRING_PARAMS=" "
ADD target/*.jar /server.jar
EXPOSE 8080
CMD java $JVM_PARAMS -Djava.security.egd=file:/dev/./urandom -jar /server.jar $SPRING_PARAMS

Note:registry.cn-hangzhou.aliyuncs.com/micro-java/openjdk:8-jre-alpine 基于鏡像 openjdk:8-jre-alpine,額外安裝了工具 curl,用于 docker service 的 health check

開發(fā)/測試環(huán)境 docker stack 通用模板

version: '3.4'
services:
    "{{ service_name }}":
         image: "{{ registry_url }}/{{ image_name }}:{{ image_version }}"
         environment:
           JVM_PARAMS: "{{ jvm_heap }}"            # 例如: -Xmx800m -Xms800m
           SPRING_PARAMS: " {{ spring_params }}"
         networks:
           - overlay-network
         volumes:
           - type: bind
             source: "/data/spring-boot/{{ service-name }}/application.properties"
             target: /application.properties
         stop_grace_period: 30s 
         deploy:
           replicas: 2
           resources:
             limits:
               memory: "{{ memory_limit }}"              # 例如 : 1024MB
           update_config:
             parallelism: 1            
             delay: 0s                 
             failure_action: rollback  
             max_failure_ratio: 0      
             order: stop-first
           restart_policy:
             condition: on-failure
             max_attempts: 3
         healthcheck:
           test: "curl 127.0.0.1:8080 || exit 1"
           interval: 3s
           timeout: 5s
           retries: 3
           start_period: 1m

networks:
  overlay-network:
    driver: overlay
    attachable: true

Note:此為 Ansible 中的動(dòng)態(tài)模板,需要先根據(jù)環(huán)境變量渲染成具體的服務(wù)發(fā)布時(shí)用的 stack.yml 文件


待續(xù)。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,253評(píng)論 6 342
  • 清明時(shí)節(jié) 風(fēng)過無痕 我 丟了你
    乖啦乖乖啦閱讀 237評(píng)論 0 0
  • 你往北,我向南 你居西,我逐東 我站在門外,你依靠窗前 你凝視著云朵,我仰望著藍(lán)天
    咚個(gè)冬閱讀 223評(píng)論 1 2

友情鏈接更多精彩內(nèi)容