DevOps与容器技术全解析
1. RESTful设计与微服务架构
在软件开发中,基于硬件资源,使用HTTP/SSL作为RPC传输是自然的选择。开发者为简化操作,采取了以下措施来构建RESTful设计:
- 使HTTP和SSL/TLS成为标准传输方式。
- 使用HTTP方法进行创建、加载、上传、删除(CLUD)操作,如GET/POST/PUT/DELETE。
- 使用URI作为资源标识符,例如用户ID 123表示为 /user/123/。
- 使用JSON作为标准数据表示。
RESTful设计已被众多开发者广泛接受,成为分布式应用的事实标准。它基于HTTP,允许使用任何编程语言,例如RESTful服务器用Java,客户端用Python是很自然的搭配。这种设计为开发者带来了代码重构、库升级甚至切换编程语言的自由和机会,还鼓励开发者通过多个RESTful应用构建分布式模块化设计,即微服务。
微服务虽然名字中有“微”,但实际上比20世纪90年代或21世纪初的应用要复杂。它使用完整的HTTP/SSL服务器栈,并包含整个MVC层。微服务设计需要关注以下几个方面:
| 设计要点 | 说明 |
| ---- | ---- |
| 无状态 | 不将用户会话存储到系统中,便于扩展。 |
| 无共享数据存储 | 每个微服务应拥有自己的数据存储,如数据库,不与其他应用共享,有助于封装后端数据库,便于在单个微服务内重构和更新数据库方案。 |
| 版本控制与兼容性 | 微服务可能会更改和更新API,但应定义版本并具有向后兼容性,有助于解耦其他微服务和应用。 |
| 集成CI/CD | 采用持续集成(CI)和
超级会员免费看
订阅专栏 解锁全文
1125

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



