【译】十二因子应用(四)

【译】十二因子应用(四)

IV 后端服务

将后端服务视为可拔插的资源

后端服务是一种在应用在网络上正常运行时消费的任意一种服务。包括数据库(如MySQL或CouchDB),消息/队列系统(如RabbitMQ或Beantalkd),发邮件的SMTP服务(如Postfix),缓存系统(如Memcached)。

数据库这种后端服务传统上与应用运行时部署一起呗同样的系统管理员管理。除了这些本地管理的服务,应用也会有一些被第三方管理的服务。如SMTP服务(Postmark),度量数据收集服务(如New Relic或Loggly),二进制存储服务(如Amazon S3),甚至API存取服务(Twitter,GoogleMap,或Last.fm)。

12因子应用的代码对待这些本地和第三方服务来说没有差别。应用端,都是可拔插的资源,通过URL或其他配置好的定位/鉴权服务。一份12因子应用的部署可以不经过任何代码修改将本地MySQL数据库替换成第三方的服务(如Amazon RDS)。同样的,本地SMTP服务可以被替换成第三方SMTP服务(如Postmark)而不需要改动代码。在这两个case,只有处理资源的配置文件需要变动。

每一个后端服务服务都是一个资源。如MySQL是一个资源,两个MySQL数据库(在应用层做sharding)就是两个独立的资源。12因子应用将这些数据库看做可拔插资源,在部署时是松耦合的。

资源可以按意愿在部署时进行拔插。如,如果应用的数据库由于硬件问题出现故障,应用管理员可以快速从一个最近的备份中进行恢复。当前的生产库可以被卸载,新数据库被挂载上 – 不需要代码变动。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101288.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatis的逆向工程怎么实现_列举创建连接的方法

    mybatis的逆向工程怎么实现_列举创建连接的方法Mybatis逆向工程创建方法1.首先利用数据库的可视化工具新建一张表。2.打开IDEA新建一个项目。3.导入pom.xml所需要的依赖文件。<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0&quo

    2022年8月21日
    5
  • 面试压力测试题情景题_压缩弹簧经常使用会发生什么

    面试压力测试题情景题_压缩弹簧经常使用会发生什么题解状态压缩dp,f[i][j]代表第i行状态为j的方案数#include<bits/stdc++.h>using namespace std;#define x first#define y second#define send string::npos#define lowbit(x) (x&(-x))#define left(x) x<<1#define right(x) x<<1|1#define transformu(s) tr..

    2022年8月8日
    5
  • mac系统安装pycharm_mac下载python3

    mac系统安装pycharm_mac下载python3简介pycharm是一款针对python开发的优秀的IDE,以下是针对其在mac上的开发配置使用安装下载链接双击安装并打开应用修改主题pycharm默认的主题并不好看,不过也提供了一些其他的选择,这里我们选择Dacula的主体,设置的路径是Preference->Appearence&Behavior->Appearence效果如下python环境配置py开发当然是…

    2022年8月28日
    4
  • linux重要开源软件

    linux重要开源软件1.yocto(开源工具,定制linux系统)2.buildroot(开源工具,定制linux系统)3.arago(ti公司专用开源工具,定制linux系统)4.linaro(交叉编译工具,直接使用)5.crosstool_ng(制作交叉编译工具的工具)6.qemu(开发板仿真工具,用于SoC开发)…

    2025年6月15日
    4
  • NYOJ129 决策树 【并检查集合】

    NYOJ129 决策树 【并检查集合】

    2022年1月1日
    58
  • 架构设计&分布式&数据结构与算法面试题(2020最新版)「建议收藏」

    架构设计&分布式&数据结构与算法面试题(2020最新版)「建议收藏」文章目录架构设计请列举出在JDK中几个常用的设计模式?什么是设计模式?你是否在你的代码里面使用过任何设计模式?静态代理、JDK动态代理以及CGLIB动态代理静态代理动态代理cglib代理单例模式工厂模式观察者模式装饰器模式秒杀系统设计分布式分布式概述分布式集群微服务多线程高并发分布式系统设计理念分布式系统的目标与要素分布式系统设计两大思路:中心化和去中心化分布式与集群的区别是什么?CAP定理CAP…

    2022年5月31日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号