理解微服务:架构、优势、挑战与Python实现
1. 微服务方法
若采用微服务构建应用程序,会将代码组织成多个独立组件,这些组件在不同进程中运行。以酒店预订应用为例,可将其拆分为以下七个独立组件:
1. 预订用户界面(Booking UI) :前端服务,生成网页用户界面,并与其他微服务交互。
2. PDF报告(PDF reports) :简单服务,根据模板和数据生成收据或其他文档的PDF文件,也称为PDF报告服务。
3. 搜索(Search) :可根据位置查询酒店列表的服务,拥有自己的数据库。
4. 支付(Payments) :与第三方银行服务交互,管理计费数据库,并在支付成功时发送电子邮件。
5. 预订(Reservations) :管理预订和订单变更。
6. 用户(Users) :存储用户信息,并通过电子邮件与用户交互。
7. 认证(Authentication) :基于OAuth 2的服务,返回认证令牌,供各微服务在调用其他服务时进行身份验证。
这些微服务与一些外部服务(如电子邮件服务)一起,提供与单体应用类似的功能集。在这种设计中,各组件通过HTTP协议进行通信,功能通过RESTful Web服务提供。没有集中式数据库,每个微服务内部处理自己的数据结构,数据的输入和输出使用语言无关的格式,如JSON,也可以使用XML或YAML,只要能被任何语言处理,并通过HTT
超级会员免费看
订阅专栏 解锁全文

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



