Heroku负载均衡器与Netflix zuul
根据这个答案https://stackoverflow.com/a/41811770/2849613,我想获得有关Heroku上微服务最佳实践的更多信息. 问题是哪种方法更好? >将每个服务安装为独立应用程序,并使用其中一个作为REST“代理”(例如Netflix Eureka)? 要么 >创建基于docker的方法,例如Netflix Zuul作为负载均衡器? 就我自己而言,我已经看到两种方法的优点和缺点: >优点:更好的可扩展性(易于创建更大负载的新机器).缺点:服务之间的通信换句话说“在heroku之外”换句话说:因为heroku应用程序有公共地址,每个人都可以直接连接到服务(不会扔掉Eureka),因为每个服务都需要提供一些身份验证方法并在每个服务之间共享其他 – 我认为这很容易发生风险. 哪种方法更好?也许我可以将它们混合在一起?或者也许有一些不同的,更好的解决方案? 说实话,我确定唯一的事情就是我想将rabbitMQ用作消息队列…… 最佳答案
我更喜欢方法#1(特别是因为我知道你已经使用了Heroku).
Docker很棒,但如果你在Heroku上部署,它的好处非常有限.原因是Heroku已经完成了Docker所做的一切:管理依赖项,安装和进程管理. Heroku已经为您完成了所有这些工作,而无需Docker化您的环境. 关于负载平衡:它实际上并不重要.在两种情况下,如果您想在Heroku上运行,您将使用Heroku负载均衡器.这是因为没有办法“绕过”Heroku堆栈的那一层. 如果你想使用Docker / zuul,你肯定需要在Heroku的外面做.这意味着你需要做各种其他的事情,找到一个docker主机,管理你自己的基础设施等. 所以,在我看来,#1是一个更好的选择(如果你使用的是Heroku),因为: >一切都已经为你照顾好了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |