小编Cra*_*vid的帖子

如何为多个AWS EC2实例设置共享持久存储?

我有一项托管在 Amazon Web Services 上的服务。我有多个 EC2 实例运行着完全相同的设置和数据,由弹性负载均衡器和扩展组管理。

这些实例是运行基于 PHP 的 Web 应用程序的 Web 服务器。因此,目前每个实例上都放置了完全相同的文件等。但是,当 ELB/扩展组根据负载规则等启动新实例时,文件可能不是最新的。此外,我宁愿使用共享文件系统进行 PHP 会话等,而不是粘性会话。

因此,我的问题是,出于这些原因以及将来可能会出现的更多原因,我希望有一个可以附加到我的 EC2 实例的共享文件系统实体。您建议用什么方法来解决这个问题?AWS 是否直接提供任何解决方案,以便我可以依赖他们的服务,而不是通过 DRBD 等自行完成?最简单的方法是什么?DRBD、NFS,...?S3 也能实现这些目的吗?

提前致谢。

amazon-ec2 amazon-web-services

6
推荐指数
1
解决办法
1万
查看次数

为什么根本要为docker swarm集群中的节点选择充当工作者的角色?

假设我们有一个包含10个节点,4个管理人员和6个工作人员的测试设置。

当领导者经理失败时,其他3名经理将选择另一名经理作为领导者。

如果这位领导者也失败了,我们将只剩下2名经理。4名其他经理然后说

来自守护程序的错误响应:rpc错误:代码=未知desc =集群没有领导者。在线上的管理人员可能太少。确保一半以上的经理在线。

由于剩下的管理人员超过一半,因此尽管剩下集群中的2名管理人员,他们将无法选择新的领导者。

我的问题是

  1. 之所以具有这种规则的意义,是因为该集群没有领导者,并且只要没有其他管理器添加到集群中就不再可以管理,尽管有2个管理器可用。
  2. 为什么我应该为所有节点选择角色工作者?将节点作为工作人员有什么优势?默认情况下,管理器还充当工作程序,其缺点是当管理器节点发生故障时它们无法接管。

docker docker-swarm docker-engine docker-swarm-mode

5
推荐指数
1
解决办法
713
查看次数

SwiftUI 列表选择始终为零

在我的 macOS 应用程序项目中,我有一个 NavigationLinks 的 SwiftUI 列表视图,它使用来自项目数组的 foreach 循环构建:

struct MenuView: View {
    @EnvironmentObject var settings: UserSettings
    
    var body: some View {
        List(selection: $settings.selectedWeek) {
            ForEach(settings.weeks) { week in
                NavigationLink(
                    destination: WeekView(week: week)
                        .environmentObject(settings)
                    tag: week,
                    selection: $settings.selectedWeek)
                {
                    Image(systemName: "circle")
                    Text("\(week.name)")
                }
            }
            .onDelete { set in
                settings.weeks.remove(atOffsets: set)
            }
            .onMove { set, i in
                settings.weeks.move(fromOffsets: set, toOffset: i)
            }
        }
        .navigationTitle("Weekplans")
        .listStyle(SidebarListStyle())
    }
}
Run Code Online (Sandbox Code Playgroud)

该视图为整个导航视图创建侧边栏菜单。

在此列表视图中,我想将选择机制与 NavigationLink 中的标签一起使用。Week是一个自定义模型类:

struct Week: Identifiable, Hashable, Equatable {
    var id = UUID() …
Run Code Online (Sandbox Code Playgroud)

macos xcode swift swiftui

3
推荐指数
1
解决办法
1512
查看次数

AttributeError:'NoneType'对象没有属性'append'

我有一个奇怪的问题,python将列表作为参数传递给函数.这是代码:

def foobar(depth, top, bottom, n=len(listTop)):
    print dir(top)
    print top.append("hi")
    if depth > 0:
        exit()
    foobar(depth+1, top.append(listTop[i]), bottom.append(listBottom[i]))

top = bottom = []
foobar(0, top, bottom)
Run Code Online (Sandbox Code Playgroud)

它说"AttributeError:'NoneType'对象没有属性'append'",因为在foobar中top是None,尽管dir(top)打印了类型列表的完整属性和方法列表.那么什么是错的?我只是想将两个列表作为参数传递给这个递归函数.

python

2
推荐指数
1
解决办法
2万
查看次数