深入理解 DevOps:从 RESTful 到容器技术
1. RESTful 设计与微服务架构
在 2010 年代,机器甚至智能手机都能获取大量 CPU 资源,数百 Mbps 的网络带宽也随处可见。开发者开始利用这些资源,简化应用程序代码和系统结构,加快软件开发周期。如今,硬件资源充足,使用 HTTP/SSL 作为远程过程调用(RPC)传输是合理的。开发者通过以下方式简化这一过程:
- 使用 HTTP 和 SSL/TLS 作为标准传输。
- 使用 HTTP 方法进行创建、加载、上传、删除(CLUD)操作,如 GET、POST、PUT 或 DELETE。
- 使用 URI 作为资源标识符,例如,ID 为 123 的用户的 URI 为 /user/123/。
- 使用 JSON 进行标准数据表示。
这些概念被称为表述性状态转移(RESTful)设计,已被开发者广泛接受,成为分布式应用的事实上的标准。RESTful 应用基于 HTTP,允许使用任何编程语言,例如可以使用 Java 作为 RESTful 服务器,Python 作为客户端。
RESTful 设计为开发者带来了自由和机会,便于进行代码重构、库升级,甚至切换编程语言。它还鼓励开发者构建由多个 RESTful 应用组成的分布式模块化设计,即微服务。
微服务虽然名字中有“微”,但与 20 世纪 90 年代或 21 世纪初的应用相比,实际上相当“重”,它们使用全栈 HTTP/SSL 服务器,并包含完整的 MVC 层。微服务设计具有以下优点:
|优点|描述|
| ---- | ---- |
|无状态|不将用户会话存储到系统中,有助于应用程序扩展。
超级会员免费看
订阅专栏 解锁全文
753

被折叠的 条评论
为什么被折叠?



