2017-09-24 28 views
2

我在查看12因子应用原则,并看到了此声明。我相信这个声明指出,应用程序必须响应任何支持服务,如数据库或消息代理,并连接到它们,而不管它们是什么。它与传统的连接方式有什么不同?例如:在我的微服务中,我被定义为云代工中的用户提供的服务的数据库和kafka代理。它只是提供连接参数作为vcap服务变量。我仍然有代码连接到一个完全不同的数据库和kafka经纪人。这个声明意味着什么?它与我们在非云环境中的做法有什么不同?作为附加资源的备份服务

回答

1

正如下面文章中所述:

https://12factor.net/backing-services

它指出:

背衬服务是应用程序消耗在网络上作为其正常操作的一部分的任何服务。示例包括数据存储(如MySQL或CouchDB),消息传递/排队系统(如RabbitMQ或Beanstalkd),用于出站电子邮件(例如Postfix)的SMTP服务以及高速缓存系统(如Memcached)。

微服务可以连接到任何支持服务,而不管平台。在PCF中,您将绑定服务到您的微服务来连接。在其他云环境中,您可以指向任何支持服务,如AWS RDS或平台提供的其他服务。

的真正区别是:

如数据库备份服务传统上由同一个系统管理员为应用程序的运行时部署管理。除了这些本地管理的服务之外,应用程序还可能提供由第三方提供和管理的服务。可以连接和分离资源以随意部署。例如,如果应用程序的数据库由于硬件问题而行为异常,应用程序的管理员可能启动从最近的备份中恢复的新数据库服务器。当前的生产数据库可以分离,并附加新的数据库 - 所有这些都不需要更改代码。

+0

谢谢Barath –