一种高性能的消息转发架构

转自醒客视角 autoasm.blog-city.com

 

一种高性能的消息转发架构

 

Alex Dou

autoasm@yahoo.com

 

 

摘要 本文介绍了一种基于多路选择和逆向路由方式的消息转发架构,该架构具有更大的吞吐量,更好的可伸缩性和更小的响应延迟。

 

关键词 分布式 消息 转发 高性能 软件架构

 

 

1.             消息转发的应用与挑战

无论是在Internet业务中还是电信系统的核心交换系统,都使用了各种类型的消息转发代理。如下图

1.1

上图表示了一个典型的即时消息服务的架构。由于PC1PC2都位于带地址转换功能的防火墙后,所以,这两个客户端不能直接建立连接。一种简单的解决方法是利用消息服务器转发。首先,PC1PC2都与消息服务器建立并保持连接。PC1先将消息发送给消息服务器,然后消息服务器再根据消息中的目的地址信息将消息转发给PC2

 

除了即时消息服务外,电信交换系统中的各种网关以及网络游戏服务器等都有转发大量消息的需求。

 

在不考虑规模可伸缩性的情况下,实现消息转发是非常简单的。下面伪代码描述了一个最简单的实现。

 

//Get Request

Request req = conn1.getRequest();

//Search route table for destination connection

Connection conn2 = routeTable.getConnByAddr(req.getDestination());

//Forward request

conn2.send(req);

 

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
nginx高可用群集架构一种利用nginx服务器来实现高可用性和负载均衡的解决方案。它通过将多个nginx服务器组成一个群集来提供服务的可用性和性能。 在nginx高可用群集架构中,通常使用两种角色的服务器:前端服务器和后端服务器。前端服务器接收来自客户端的请求,并将其转发到后端服务器进行处理。多个前端服务器可以通过负载均衡算法来平均分配请求负载,以提高服务的响应能力和可靠性。 为了确保高可用性,每个前端服务器都会监控后端服务器的健康状态。如果某个后端服务器出现故障或不可用,前端服务器可以自动将其从负载均衡策略中移除,以确保请求不会被发送到故障的服务器。同时,当故障的服务器恢复正常时,前端服务器会自动将其重新加入群集中。 此外,nginx还支持基于Session的黏性会话,可以确保同一客户端的请求被发送到同一后端服务器上,以避免会话丢失或混乱。 在实际应用中,可以根据实际需求和负载情况,扩展前端服务器和后端服务器的数量。同时,可以使用Keepalived、HAProxy或F5等负载均衡软件来实现不同前端服务器间的负载均衡和故障切换。 总的来说,nginx高可用群集架构通过使用多个前端服务器和后端服务器,并结合负载均衡和健康检查机制,提供了可靠的服务可用性和性能。这种架构可以应用于各种应用场景,如网站、应用程序和API服务等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AutoAsm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值