7、从单体应用到微服务:构建电商系统的实践指南

从单体应用到微服务:构建电商系统的实践指南

1. Seneca 服务的优势与劣势

Seneca 框架编写的服务易于理解,代码以插件形式编写,可在不同机器上的不同 Seneca 实例中使用。其透明传输机制,能让我们快速将单体应用的部分功能重新部署和扩展为微服务,具有以下优点:
- 易于测试 :对电子邮件功能的更改仅影响邮件发送,新版本易于测试。
- 易于扩展 :复制服务就像配置新服务器并将 Seneca 客户端指向它一样简单。
- 易于维护 :软件更易理解和修改。

然而,微服务并非没有问题,存在以下劣势:
- 操作开销 :可能会消耗使用微服务带来的好处,设计系统时需考虑自动化。
- 应用不统一 :不同团队对某些实践的看法可能不同,增加了团队间的隔离,不利于工程师沟通。
- 通信复杂性 :引入更大的通信复杂性,可能导致安全问题。

2. 拆分单体应用

假设公司营销部门要开展激进的电子邮件活动,可能会影响日常邮件发送。解决方案是将电子邮件服务(email.js)部署在多台机器上:

var seneca = require("seneca")().use("email");
seneca.listen({port: 1932, host: "new-email-service-ip"});
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值