现代软件开发:RESTful、微服务与DevOps工具全解析
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应用组成的分布式模块化设计,即微服务。
2. 微服务架构解析
尽管微服务名称中有“微”,但与20世纪90年代或21世纪初的应用相比,它们其实相当“重”,使用全栈HTTP/SSL服务器并包含完整的MVC层。微服务设计具有以下优势:
|优势|说明|
|----|----|
|无状态|不将用户会话存储到系统中,有助于应用程序扩展。|
|无共享数据存储|每个微服务应有自己的数据存储,如数据库,不与其他应用共享,便于封
超级会员免费看
订阅专栏 解锁全文
96

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



