微服务开发的十二要素
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 (管理进程)
管理任务作为一次性的过程运行(使用脚本管理服务启动和停止)。
资料引用:
https://blog.csdn.net/xingfei_work/article/details/104770874
https://blog.csdn.net/ahulco2098/article/details/101627643
作者:ukyo--碳水化合物
出处:https://www.cnblogs.com/ukzq/p/16615350.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2020-08-23 阅后归档
2018-08-23 SpringMVC整个执行流程