2、理解微服务:架构、优势、挑战与Python实现

理解微服务:架构、优势、挑战与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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值