我正在尝试在AWS中设置Elastic Load Balancing(ELB)以在多个实例之间拆分请求。 我已经创build了几个基于相同的AMI我的networking服务器的图像,我可以ssh到每个单独的访问该网站通过每个不同的公共DNS。 我已将每个实例都添加到负载平衡器,但是他们都返回“ Status: Out of Service因为他们的健康检查失败。 我大多感到困惑,因为我可以访问其公有DNS中的每个实例,但每当访问负载均衡器DNS名称时都会收到超时。 我一直在试着读通过所有的文档和谷歌search,但我卡住了。 任何指针或正确的方向链接将不胜感激。
我试图在Amazon Elastic Load Balancer后面设置我的应用程序服务器。 我想有一个服务器专用于旧版本,而所有其他服务器专用于新版本。 我想在path参数中使用版本ID实现此 例如 当前版本(3.0): http : //example.com/APPNAME/service 旧版本(2.2): http : //example.com/APPNAME/v2.2/service 我想知道: ELB是否有能力查看HTTP请求? ELB可以根据URLpath参数redirect请求吗?
一种高可扩展性的方法是使用networking负载平衡来分割多个服务器之间的处理负载。 这种方法提出的一个挑战是服务器在哪里知道状态 – 将用户状态存储在“会话”中。 这个问题的一个解决scheme是“粘性会话”(aka“session affinity”),其中每个用户被分配给单个服务器,并且在整个会话期间,他/她的状态数据被专门包含在该服务器上。 “粘性会议”方法的优点和缺点是什么? 你用它,如果是的话,你满意吗?
好的,所以我已经得到了这个完全罕见的负载平衡的PHP网站的独特场景。 令人沮丧的是 – 它并没有用来平衡负载。 现在我们开始发现问题了 目前唯一的问题是PHP会话。 自然没有人想到这个问题,所以PHP会话configuration保持其默认。 因此,这两个服务器都有自己的一小撮会话文件,不幸的是获取下一个请求的用户被抛出到另一个服务器上,因为他没有在第一个服务器上创build的会话。 现在,我已经阅读了PHP手册了解如何解决这种情况。 在那里我find了session_set_save_handler()的很好的function。 (巧合的是, 这个话题就这么 )整洁。 除了我必须在网站的所有页面上调用这个函数。 未来页面的开发人员也必须记得随时调用它。 感觉有点笨拙,更不用说可能违反了一打最好的编码做法。 如果我可以翻转一些全局configuration选项和Voilà – 会话全部被神奇地存储在一个数据库或一个内存caching或其他东西中,那将会更好。 任何想法如何做到这一点? 补充:澄清 – 我希望这是一个标准的解决scheme的标准情况。 仅供参考 – 我有一个MySQL数据库可用。 一定有一些现成的代码可以解决这个问题吗? 当然,我可以编写我自己的会话保存的东西和Greg指出的auto_prepend选项似乎很有前途 – 但是这将感觉重新发明轮子。 :P 新增2:负载均衡是基于DNS的。 我不知道这是如何工作,但我想这应该是这样的 。 添加3:好的,我看到一个解决scheme是使用auto_prepend选项插入到每个脚本session_set_save_handler()的调用,并写我自己的数据库持久化,也许投入调用memcached更好的性能。 很公平。 是否还有一些方法可以避免自己编码? 就像一些着名且经过充分testing的PHP插件一样? 添加了很多,后来:这是我最后的方式: 如何在PHP + MySQL中正确实现自定义会话持久化? 另外,我只是将会话处理程序手动包含在所有页面中。
我正在使用Spring Security构build一个Web应用程序,该应用程序将位于Amazon EC2上,并使用Amazon的Elastic Load Balancer。 不幸的是,ELB不支持粘性会话,所以我需要确保我的应用程序没有会话正常工作。 到目前为止,我已经设置了RememberMeServices通过一个cookie分配一个令牌,这工作正常,但我希望Cookie与浏览器会话过期(例如,当浏览器closures)。 我必须想象,我不是第一个不想使用Spring Security而没有会话的人…有什么build议吗?
什么是数据库集群? 如果允许同一个数据库位于两台不同的服务器上,它们如何保持数据同步。 这与数据库服务器视angular的负载均衡有何不同?
在负载平衡服务器的环境中, 会话亲和性和粘性会话之间有什么区别?
我们(真正的IT合作伙伴)最近改变了我们的一个网站养殖网站的一些DNS,以便两个生产服务器在两者之间进行循环DNS切换。 在这个开关之前,我们并没有真正遇到WebResource.axd文件的问题。 由于切换,当我们点击实时公开的URL,我们得到一个错误: CryptographicException 填充无效,无法删除。 当我们打到特定的服务器本身,他们加载罚款。 我已经研究了这个问题,似乎是因为他们在两台服务器之间共享资源,所以我们需要在每台服务器的web.config都有一个一致的machineKey ,以便他们能够在两者之间一致地进行encryption和解密。 我的问题是: 我可以通过服务器上的工具生成一个machineKey ,还是我需要编写代码来完成这个工作? 我是否需要将machineKey添加到每个服务器上的web.config ,或者您认为我需要做其他任何事情来使这两个服务器一起工作吗? (两个web.config目前没有一个machineKey )
这是在一个服务器集群上运行你的应用程序的能力,意图分配负载,并提供额外的冗余。 我曾经看过一个GridGain的演示文稿,我对它印象非常深刻。 知道其他人吗?
如果你想删除一个群服务,有没有任何概念,即现有会话的服务请求,但不接受新的请求?