微服务的12个要素

在 《Pro Spring Boot》第13章提到的。

1. Codebase
从一个代码库部署到多个环境。

2. Dependencies
使用显式的声明隔离依赖。

3. Config
在environment中保存配置信息,不许硬编码。

4. Backing Services
把支持性服务看做是资源,通过URL或者配置连接。支持性服务包括数据库、消息队列、缓冲服务器等。后台资源,可以方便的替换。比如更换数据库。

5. Build, release, run
严格的划分编译、构建、运行阶段,每个阶段由工具进行管理。持续集成,持续部署。服务构建完成后,开发不能随意修改代码。所有修改需要走构建的流程。

6. Processes
应用必须为无状态。服务可以随意启动,停止,而不用担心丢失数据。

7. Port binding
经由端口绑定导出服务。一个应用可以成为另一个应用的服务。服务自带运行时容器。可以命令行启动,并通过HTTP对外提供服务。

8. Concurrency
并发性使用水平扩展实现,对于web就是水平扩展web应用实现。不要依赖于单台服务器多线程模型。启动多个微服务。水平扩展。

9. Disposability
服务可丢弃行,应用健壮性。快速启动,并可以平稳关闭。以及错误容忍性。

10. Environment parity
开发和生产环境保持高度一致,一键式部署。保证高质量,持续发布。

11. Logs
将日志看做是事件流来管理,所有参与的服务均使用该方式处理日志。

12. Admin processes
管理任务作为一次性的过程运行。例如 DB migrations,一次性执行的脚本等。开发人员不能随意执行这种任务。需要使用源代码仓库管理。而且这些脚本必须可重复执行,也不需要为不同的环境做特殊的改变。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值