基于WSO2的微服务编排流程开发入门指引请求
WSO2 编排流程入门实现指引
一、工具选择确认
你的方向是对的:用Integration Studio做开发,部署到Micro-Integrator(MI)完成编排(Enterprise Integrator是包含MI+Dashboard等的套件,核心编排用MI足够);如果需要对外暴露API做网关管理、权限控制,再搭配API Manager即可。
二、分步实现流程
1. 开发三个微服务(模拟/实际服务)
在Integration Studio中,为每个微服务创建REST API或Proxy Service:
- 微服务1:创建API,路径设为
/customer/{customerId},返回包含fullName、address、customerId、age的JSON数据;若对接真实后端,用Call Mediator调用实际服务即可 - 微服务2:API路径设为
/account/{customerId},返回accountNo、expiryDate、bankName字段 - 微服务3:API路径设为
/account/balance/{accountNo},返回balance、lastTransactions(数组格式,包含3条交易记录及日期)
提示:如果暂时没有真实后端,用
Payload Factory Mediator直接构造模拟返回数据,可快速验证流程。
2. 开发核心编排流程(ESB路由+业务逻辑)
在Integration Studio中创建API作为入口流程,实现以下逻辑:
- 接收请求:创建入口API,路径设为
/query-customer-account,接收客户端传入的customerId参数 - 调用微服务1:用
Call Mediator调用微服务1接口,将返回的客户数据(尤其是age字段)存入Message Context(通过Property Mediator存储) - 年龄校验:用
Filter Mediator判断age < 22,若满足条件,用Payload Factory构造错误响应(如{"error": "无法查询,客户年龄小于22岁"}),直接返回给客户端 - 调用微服务2:若年龄符合要求,用
Call Mediator调用微服务2,获取accountNo并存储 - 调用微服务3:用存储的
accountNo调用微服务3,获取余额及交易记录 - 聚合结果返回:用
Payload Factory或Enrich Mediator将客户数据、账户信息、余额交易数据整合成一个JSON对象,返回给初始请求方
3. 部署与测试
- 将开发好的所有服务(三个微服务API、核心编排API)导出为CAR包
- 部署到Micro-Integrator:可直接在Integration Studio中连接MI服务器一键部署,或把CAR包放到MI的
deployment/server/carbonapps目录下 - 验证流程:用Postman等工具调用入口API,传入不同
customerId(模拟不同年龄):- 年龄<22:返回错误提示
- 年龄≥22:返回整合后的完整客户+账户+余额数据
三、工具补充说明
- Integration Studio:WSO2集成开发的核心IDE,支持可视化拖拽 mediators,也可直接编写Synapse配置代码
- Micro-Integrator:轻量级ESB运行时,负责执行编排逻辑与服务路由,是核心运行组件
- API Manager:若需对外发布入口API、做流量管控或权限验证,可将MI中的API导入APIM进行管理
内容的提问来源于stack exchange,提问作者user19464830
相关产品推荐
相关产品推荐

