美文网首页js css html
构建服务工件:服务中一个确定的、不可修改的软件包

构建服务工件:服务中一个确定的、不可修改的软件包

作者: robot_test_boy | 来源:发表于2022-10-14 00:05 被阅读0次

如果在每台服务器上运行启动脚本,启动脚本会从Git代码库拉取代码,安装一些依赖项,然后启动应用。这种方式是可行的,但也存在一些缺陷:应用启动特别慢,因为每台服务器都要并行执行相同的代码拉取和构建步骤,无法保证每台服务器运行的是相同版本的服务。这就导致部署结果不可预测且很脆弱。

为了消除这些缺陷并从中获益,开发者需要构建一个服务工件(service artifact)。服务工件是服务中一个确定的、不可修改的软件包。如果开发者对同一个代码提交记录执行构建流程,会生成相同的工件。

大部分技术栈都提供某种部署工件(比如Java的JAR文件、.NET的DLL文件、Ruby的gem、Python的package)。这些工件的运行时特性可能各有不同。比如,开发者需要使用IIS服务器来运行.NET的Web服务,而JAR文件可以内嵌到Tomcat这样的服务进程中自动执行。

一般来说,自动化构建工具(如Jenkins或CircleCI)负责构建服务工件并将其推送到工件仓库。工件仓库可能是专门的工具(比如,Docker提供了存储镜像的registry),也可能是通用的文件存储工具。

摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》

相关文章

  • 构建服务工件:服务中一个确定的、不可修改的软件包

    如果在每台服务器上运行启动脚本,启动脚本会从Git代码库拉取代码,安装一些依赖项,然后启动应用。这种方式是可行的,...

  • 《微服务设计》读书笔记(三)

    如何确定微服务的边界 ---建模 1. 什么样的服务是好的服务 1) 松耦合:修改一个服务不需要修改另外一个服务,...

  • PXE(新建一个空白虚拟机获取IP)

    1.DHCP服务(1)安装dhcp软件包 (2)修改配置文件 (3)添加以下配置 (4)重启服务并设置服务开机自启...

  • 服务工件的不可变性

    不可变工件封装了尽可能多的服务依赖项,这使得开发者可以最大限度地确信,在整个部署流水线中,测试所使用的包与部署到生...

  • Spring Cloud构建微服务架构之七 服务网关

    本文完全参照并抄写了翟永超博客: Spring Cloud构建微服务架构(五)服务网关 服务网关是微服务架构中一个...

  • 服务工件的组成

    一个微服务并不仅包括代码,还包括许多组成部分。 1)编译后的或者未编译的应用代码; 2)应用类库; 3)安装到操作...

  • 服务工件的配置

    根据部署环境(预发布环境、开发环境、生产环境等)的不同,服务的配置信息一般也会有所不同。由于各种原因,不能将服务的...

  • 服务工件的类型

    许多语言都有自己的打包机制,这种差异导致在处理由不同语言编写的服务时部署工作的复杂度增大。部署工具需要分别采用不同...

  • openstack( 三、glance)

    五、安装Glance服务 1、安装软件包和修改配置文件 2、修改配置文件 vim /etc/glance/glan...

  • NFS文件共享服务部署

    一、服务端安装(39.98.121.152) 1.1、安装软件包 1.2、创建共享目录 1.3、修改配置文件/et...

网友评论

    本文标题:构建服务工件:服务中一个确定的、不可修改的软件包

    本文链接:https://www.haomeiwen.com/subject/urmpartx.html