rabbitmq 怎么设置集群发送 ip

rabbitmq 怎么设置集群发送 ip,第1张

AMQP(高级消息队列协议)是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP客户端能够无视消息的来源任意发送和接受信息。AMQP的原始用途只是为金融界提供一个可以彼此协作的消息协议,而现在的目标则是为通用消息队列架构提供通用构建工具。因此,面向消息的中间件(MOM)系统,例如发布/订阅队列,没有作为基本元素实现。反而通过发送简化的AMQ实体,用户被赋予了构建例如这些实体的能力。这些实体也是规范的一部分,形成了在线路层协议顶端的一个层级:AMQP模型。这个模型统一了消息模式,诸如之前提到的发布/订阅,队列,事务以及流数据,并且添加了额外的特性,例如更易于扩展,基于内容的路由。AMQP当中有四个概念非常重要virtualhost,虚拟主机exchange,交换机queue,队列binding,绑定一个虚拟主机持有一组交换机、队列和绑定。为什么需要多个虚拟主机呢?因为RabbitMQ当中,用户只能在虚拟主机的粒度进行权限控制。因此,如果需要禁止A组访问B组的交换机/队列/绑定,必须为A和B分别创建一个虚拟主机。每一个RabbitMQ服务器都有一个默认的虚拟主机/。何谓虚拟主机(virtualhost),交换机(exchange),队列(queue)和绑定(binding)队列(Queues)是你的消息(messages)的终点,可以理解成装消息的容器。消息就一直在里面,直到有客户端(也就是消费者,Consumer)连接到这个队列并且将其取走为止。不过,也可以将一个队列配置成这样的:一旦消息进入这个队列,此消息就被删除。队列是由消费者(Consumer)通过程序建立的,不是通过配置文件或者命令行工具。这没什么问题,如果一个消费者试图创建一个已经存在的队列,RabbitMQ会直接忽略这个请求。因此我们可以将消息队列的配置写在应用程序的代码里面。而要把一个消息放进队列前,需要有一个交换机(Exchange)。交换机(Exchange)可以理解成具有路由表的路由程序。每个消息都有一个称为路由键(routingkey)的属性,就是一个简单的字符串。交换机当中有一系列的绑定(binding),即路由规则(routes)。(例如,指明具有路由键“X”的消息要到名为timbuku的队列当中去。)消费者程序(Consumer)要负责创建你的交换机。交换机可以存在多个,每个交换机在自己独立的进程当中执行,因此增加多个交换机就是增加多个进程,可以充分利用服务器上的CPU核以便达到更高的效率。例如,在一个8核的服务器上,可以创建5个交换机来用5个核,另外3个核留下来做消息处理。类似的,在RabbitMQ的集群当中,你可以用类似的思路来扩展交换机一边获取更高的吞吐量。交换机如何判断要把消息送到哪个队列?你需要路由规则,即绑定(binding)。一个绑定就是一个类似这样的规则:将交换机“desert(沙漠)”当中具有路由键“阿里巴巴”的消息送到队列“hideout(山洞)”里面去。换句话说,一个绑定就是一个基于路由键将交换机和队列连接起来的路由规则。例如,具有路由键“audit”的消息需要被送到两个队列,“log-forever”和“alert-the-big-dude”。要做到这个,就需要创建两个绑定,每个都连接一个交换机和一个队列,两者都是由“audit”路由键触发。在这种情况下,交换机会复制一份消息并且把它们分别发送到两个队列当中。交换机不过就是一个由绑定构成的路由表。交换机有多种类型。他们都是做路由的,但是它们接受不同类型的绑定。为什么不创建一种交换机来处理所有类型的路由规则呢?因为每种规则用来做匹配分子的CPU开销是不同的。例如,一个“topic”类型的交换机试图将消息的路由键与类似“dogs”的模式进行匹配。匹配这种末端的通配符比直接将路由键与“dogs”比较(“direct”类型的交换机)要消耗的CPU。如果你不需要“topic”类型的交换机带来的灵活性,你可以通过使用“direct”类型的交换机获取更高的处理效率。

需要看是什么样的架构,如果最基础的Nginx作为前端反向代理提供负载均衡功能,后端有真实业务服务器的话。Nginx Upstream集合模块下可以配置策略。目前性能较好的是sticky策略。可以保证客户IP固定的情况下,只将其请求代理到后端同一台服务器。ip_hush策略的话在性能上不是很好,会出现负载不均衡情况。

一、主从服务器

1、两台服务器。主服务器Master复制数据的更新、插入、删除等 *** 作; 从服务器Slave负责查询(读写分离,减缓服务器压力)

2、主服务器更新数据的同时更新从服务器的数据(数据备份)

3、当主服务器出现文件时,可用从服务器代替主服务器,保证网站的正常运行,同时检测主服务器存在的问题。注意:从服务器仍然只有查询功能,如银行系统更新时只能查询余额,不能存取款。(服务器可用性)

4、当把从服务器真正设置为主服务器时(即主从服务器设置调换),拥有更新数据的功能。

5、MyISAM不支持事务,但查询性能比InnoDB强;InnoDB支持事务,更新 *** 作性能比MyISAM强。因此,主服务器可以设置成MyISAM存储引擎,从服务器可以设置成InnoDB存储引擎(灵活设置存储引擎)

二、负载均衡

1、多台服务器。一个域名映射到多台服务器IP。

2、用户发出请求,提交到负载均衡服务器,由负载均衡服务器发送请求到不同的服务器。

3、负载均衡服务器选取服务器方法(负载均衡算法):

1、轮询:每台服务器轮换

2、加权轮询:为了应对某些服务器性能好,可以让他们的权重高一点,被选中的几率大一些。

3、最少连接:哪台服务器处理的连接少,就发给哪台服务器。

4、随机

4、存在的问题:客户端存在缓存,如果服务器出现故障,客户端报错。

5、分类:DNS负载均衡、>1 将两台集群服务器以及域控制器网卡改成双ip,即保留原来ip的基础上增及新的ip,同时将两台集群服务器网卡的备份DNS指向域控制器的新ip,首选DNS指向域控制器的老ip不变。
2 在两台集群服务器的注册表上修改1:每个网卡两个IP以及相应的掩码先后位置调换,2:找到原WIN2003集群IP,MS SQL SERVER集群IP更改成新的IP,3:重起两台集群服务器,在域控制器就能用新的集群IP访问了。
3现在删除网卡上老的IP地址就完成工作了。

不难,硬件用路由器,软件嘛, *** 作系统用WIN2003 server enterprise 企业版,推荐一并安装R2升级包,所有机器组局域网,用一台千兆网卡做域控,架设流媒体服务器,其他机做为域成员加入进来,内网IP各用各的,外网用端口映射到一个IP,用域控做网络流量负载平衡,域控机器配置要强,如果你网络流量大,建议用专业级服务器,至强+2Gb+SCSI硬盘之类,看你环境要求了,如果必要可以上双至强,再用一台512mb内存的p4 20G以上机做备份域控,这样主域控上下线或重启或出故障不影响域内成员正常工作,备份域控凑合就可以了,按我上面的要求就行,当然,有钱可以用好的
如果你安全性要求高,建议路由前端用普通P4+512Mb内存机器架ISA2004 server组防火墙,配置的好效果比一般的硬件防火墙要好,完全不影响网络环境运行,域内成员可以裸奔不怕毒和黑
至于域内成员机,如果仅全力供应片源,当前主流家用机型就够用了
服务器建议用hp 360G系列,目前价位不算高,性价比还不错,售后很好,如果你对建网不怎么了解,可以让他们帮你装,买他们的服务器就是要利用他们的人力资源嘛
路由器可以选用飞鱼星4200以上机型,电信网通双WAN口,是可以提供150~250台机器的大型网吧专用的,内置参数非常丰富
另外再多罗嗦几句,板卡不要买七彩虹的,我上过当,七彩虹本身是咨讯公司,没有任何板卡生产能力,都是同德代工的,以为它的出货量大,就选了它,结果广告上的指标参数和实际产品根本不同,水份太多太多了,售后也很烂,特此建议……
楼下别再抄袭我了,每天都被抄走好几个200分最佳,实在是郁闷!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10678658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存