4、Rails开发:消息系统、代码组织与插件编写全解析

Rails开发:消息系统、代码组织与插件编写全解析

1. 消息系统(Messaging System)

消息系统,如企业服务总线(ESB),能让系统的各个独立部分异步运行。当网站前端或服务层发生事件时,可能需要执行一些不影响当前用户请求结果展示的操作。

比如,用户在网站上下单,在用户在线时,系统需要将交易记录存储到数据库并处理信用卡验证。此外,还可能需要执行其他操作,如发送确认邮件或在配送中心系统中排队订单。这些额外操作耗时较长,为避免让用户等待每个系统处理完成,应用程序可以向ESB发送一条消息:“用户X以$Z的价格购买了Y”。任何需要此信息的外部进程都可以监听该消息,并在看到感兴趣的消息时相应地操作。

使用这样的消息系统,允许多个订阅者监听任何给定消息,能在不更新主应用程序的情况下为数据添加额外的处理层。这减少了添加新功能时需要重新测试的系统数量,也减少了负责用户流程的应用程序需要关注的问题数量。该应用程序可以专注于其特定功能——用户流程,而应用程序的其他部分可以异步接管并管理其他任务。

2. 网络服务器(Web Server)

在Rails应用程序中,网络服务器的角色相对简单,其目的只是接受客户端的连接,并将其传递给应用程序。需要注意的是,访问网站的用户并不是与网络服务器交互的唯一客户端。当将应用程序拆分为具有独立前端的独立服务时,每个部分都是一个完整的Rails应用程序栈,包括网络服务器。

3. 防火墙(Firewall)

防火墙是信任的屏障。它不仅能防止恶意黑客攻击,还应成为大型系统设计的重要组成部分。在防火墙内,可以假设访问来自受信任的源,从而简化应用程序逻辑。除了最敏感的应用程序(

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值