spring cloud开发、部署注意事项

一、开发时,配置服务的配置使用本地路径,不使用svn和git,因为后者每个开发人员都会修改配置,导致别人也拿到其他人修改的配置,本地配置示例如下:

spring:
  application:
    name: simple-config-server
  cloud:
    config:
      server:
        default-label: trunk
        native:
          searchLocations: file:///D:\works\smart\simple-config-repo
  profiles:
    active: native

二、对于生产环境部署到阿里云的,使用不了docker,因为docker文件通常有几百兆,部署时上传很慢。不但不能使用docker,打包时也没有必要包含所有的包,如果去掉依赖包,编译完后每个jar只有几百k,这样部署起来就方便多了。可以如下设置pom编译选项:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>ebtins.smart.proxy.SmartProxyApplication</mainClass>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
        <defaultGoal>compile</defaultGoal>
    </build>

这样你生产环境的服务目录将如下,simple-service.jar只有几百K。

simple-service.jar simple-service.sh lib logs

三、使用脚本启动和关闭服务,centos下的脚本启动和关闭可以如下:欢迎大家一起学习研究相关技术愿意了解源码的朋友直接求求交流分享技术:2147775633

start(){
 now=`date "+%Y%m%d%H%M%S"`
 exec
 java -Xms64m -Xmx256m -jar ./simple-service-0.0.1.jar --server.port=7085 --config.name=pro > logs/simple-service.log &
}
#停止方法
stop(){
 ps aux|grep simple-service|grep 7085|grep -v grep|awk ‘{print $2}‘|while read pid
 do
    kill -9 $pid
 done
} 

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
printf ‘Usage: %s {start|stop|restart}\n‘ "$testg"
exit 1
;;
esac

启动方式:sh simple-service.jar start
当然可以在脚本里启动本服务器所有服务,也可以使用自动部署机制,自动部署自动启动。
这是生产和开发环境的一点小小经验。

原文地址:http://blog.51cto.com/13777880/2173068

时间: 2024-11-08 21:36:56

spring cloud开发、部署注意事项的相关文章

spring/spring boot/spring cloud开发总结

背景        针对RPC远程调用,都在使用dubbo.dubbox等,我们也是如此.由于社区暂停维护.应对未来发展,我们准备尝试新技术(或许这时候也不算什么新技术了吧),选择使用了spring cloud架构.在此期间使用spring boot项目尝试开发,结果良好.所以想重构原spring项目至spring cloud一步一步进行,因此开发中会出现各种问题.  问题 问题总是伴随着开发一步一步显露出来,遇到问题总要去解决: spring cloud相关问题: 1.跨系统调用,传参对象接收

Spring Cloud开发实践 - 02 - Eureka服务和接口定义

服务注册 EurekaServer Eureka服务模块只有三个文件, 分别是pom.xml, application.yml 和 EurekaServerApplication.java, 内容如下 pom.xml spring-boot-maven-plugin: 使用 goal=repackage 可以打包出一个包含所有依赖的fat jarmaven-deploy-plugin: skip=true 表示当执行deploy时, 这个模块不会被提交到maven的repository <?xm

Spring Cloud项目部署(二)docker开启2375端口

开启2375端口,提供外部访问docker. 1.编辑docker文件:./usr/lib/systemd/system/docker.service vim /usr/lib/systemd/system/docker.service 2.修改ExecStart内容 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 3.重新加载docker配置 systemctl daemon-relo

【译文】用Spring Cloud和Docker搭建微服务平台

by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-microservices.html This blog series will introduce you to some of the foundational concepts of building a microservice-based platform using Spring Cloud

一句话概括下spring框架及spring cloud框架主要组件

作为java的屌丝,基本上跟上spring屌丝的步伐,也就跟上了主流技术.spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了.Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署.Spring Framework:即通常所

spring 和spring cloud 组成

spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了.Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署.Spring Framework:即通常所说的spring 框架,是一个开源的Java/Java EE全功能栈应用程

转:一句话概括下spring框架及spring cloud框架主要组件

作为java的屌丝,基本上跟上spring屌丝的步伐,也就跟上了主流技术. spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了.Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署.Spring Framework:即通常

spring cloud(二):spring boot技术总结

1.spring boot简化Spring应用的初始搭建以及开发过程,节省了开发成本及时间,提高了开发人员的生产力 2.含有诸多开箱即用微服务功能,可以和spring cloud联合部署项目能够独立运行,提供了应用监控,能够与微服务联合部署. 3.spring boot简化了配置文件,它使用"习惯优于配置"(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无需手动进行配置) 的理念让你的项目快速运行起来. 3.1.项目中运用了很多默认的配置类,只要用相应的注解,就能引用相应的配置

基于Spring Cloud的微服务落地

请点击此处输入图片描述 微服务架构模式的核心在于如何识别服务的边界,设计出合理的微服务.但如果要将微服务架构运用到生产项目上,并且能够发挥该架构模式的重要作用,则需要微服务框架的支持. 在Java生态圈,目前使用较多的微服务框架就是集成了包括Netfilix OSS以及Spring的Spring Cloud.它包括: Spring Cloud Config:配置管理工具,支持使用Git存储配置内容,可以实现应用配置的外部化存储,支持客户端配置信息刷新.加密/解密配置内容等. Spring Clo