微服务开发的12项要素
2016-01-04 15:46
507 查看
spring cloud官方文档提到的服务开发的12项要素。
I. Codebase
从一个代码库部署到多个环境。
II. Dependencies
使用显式的声明隔离依赖,即模块单独运行,并可以显式管理依赖。
III. Config
在系统外部存储配置信息。
IV. Backing Services
把支持性服务看做是资源,支持性服务包括数据库、消息队列、缓冲服务器等。
V. Build, release, run
严格的划分编译、构建、运行阶段,每个阶段由工具进行管理。
VI. Processes
应用作为无状态执行。
VII. Port binding
经由端口绑定导出服务,优先选择 HTTP API 作为通用的集成框架。
VIII. Concurrency
并发性使用水平扩展实现,对于web就是水平扩展web应用实现。
IX. Disposability
服务可处置性,任何服务可以随意终止或启动。
X. Dev/prod parity
开发和生产环境保持高度一致,一键式部署。
XI. Logs
将日志看做是事件流来管理,所有参与的服务均使用该方式处理日志。
XII. Admin processes
管理任务作为一次性的过程运行(使用脚本管理服务启动和停止)。
I. Codebase
从一个代码库部署到多个环境。
II. Dependencies
使用显式的声明隔离依赖,即模块单独运行,并可以显式管理依赖。
III. Config
在系统外部存储配置信息。
IV. Backing Services
把支持性服务看做是资源,支持性服务包括数据库、消息队列、缓冲服务器等。
V. Build, release, run
严格的划分编译、构建、运行阶段,每个阶段由工具进行管理。
VI. Processes
应用作为无状态执行。
VII. Port binding
经由端口绑定导出服务,优先选择 HTTP API 作为通用的集成框架。
VIII. Concurrency
并发性使用水平扩展实现,对于web就是水平扩展web应用实现。
IX. Disposability
服务可处置性,任何服务可以随意终止或启动。
X. Dev/prod parity
开发和生产环境保持高度一致,一键式部署。
XI. Logs
将日志看做是事件流来管理,所有参与的服务均使用该方式处理日志。
XII. Admin processes
管理任务作为一次性的过程运行(使用脚本管理服务启动和停止)。
相关文章推荐
- 在windows系统上搭建nfs server
- delphi BLE 学习
- linux下iptables命令
- Linux网络套接字学习笔记(一)
- iOS开发之LLDB断点调试和常用命令
- bash bad interpreter: 没有那个文件或目录
- LINUX 部署 WEB.PY 验证码服务的 配置说明书
- Android图片的三级缓存
- BeanUtils.copyProperties() 用法
- 2016.1.4
- windows 2008 安装ossec客户端
- Js闭包的用途
- 奥义封印炎爆秘术 让你好用到哭的PS火焰效果动作
- 仿IOS Switch控件
- maven仓库找不到需要的jar包解决办法
- cJSON代码阅读(6)——解析JSON数值
- 安装Hadoop,启动hadoop(每次都用),设置免密码登陆
- 数据库设计步骤--了解用户需求:与客户会面
- TOP 10开源的推荐系统简介
- Js闭包的用途