现代软件开发:从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层。微服务设计具有以下优势:
| 优势 | 描述 |
| — | — |
| 无状态 | 不将用户会话存储到系统中,有助于应用扩展。 |
| 无共享数据存储 | 每个微服务应有自己的数据库等数据存储,不与其他应用共享,便于封装后端数据库,更轻松地重构和更新数据库方案。
超级会员免费看
订阅专栏 解锁全文
2645

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



