小编Mit*_*t94的帖子

公有子网中的 EC2 实例没有公有 IP

我创建了一个VPC,并在其中创建了一个子网和一个Internet 网关(附加到 VPC)。在该子网中,我创建了一个路由表,其中将路由 0.0.0.0/0 设置为目标Internet Gateway

之后,我在子网中启动了一个 EC2 实例,但它没有公共 IP,因此我无法使用 RDP 连接到它。

我尝试启用“ DNS 主机名”和“ DNS 解析”,但它没有向我的实例添加公共 IP(即使在重新启动后)。在我的子网中,我启用了“自动分配 IPv4 ”,但仍然没有公共 IP。

请问我在这里缺少什么线索吗?

amazon-ec2 amazon-web-services amazon-vpc

15
推荐指数
1
解决办法
7704
查看次数

在线程失败和异常处理时停止 ExecutorService

这是我为了暴露我的问题而做的一个简化的例子。我有一些doSomeWork()使用 ExecutorService 以多线程方式处理的任务(最多一次 4 个线程)。但是,如果任何线程/任务生成异常,我想:

  1. 停止处理任何进一步的任务。

  2. 在主线程级别捕获异常。

    public static void main(String[] args) {
        final ExecutorService threadPool = Executors.newFixedThreadPool(4);
        final ExecutorCompletionService<Void> completionService = new ExecutorCompletionService<>(threadPool);
    
        try {
            for (int i = 0; i < 10; i++) {
                int b = i;
                    completionService.submit(() -> doSomeWork(b));
            }
    
            threadPool.shutdown();
            threadPool.awaitTermination(8, TimeUnit.HOURS);
    
            System.exit(0);
    
        } catch (Exception e) {
            System.out.println("Something wrong happened: " + e.getMessage());
        }
    
        System.exit(1);
    
    }
    
    //This function have 50% odds of throwing an exception
    public static Void doSomeWork(int i) throws Exception …
    Run Code Online (Sandbox Code Playgroud)

java multithreading exception

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

使用 OpenTelemetry 统一不同服务的范围

我刚刚开始使用 OpenTelemetry 并为此创建了两个(微)服务:StandardGeoMap

最终用户向标准服务发送请求,标准服务又向GeoMap发送请求以获取信息,然后将结果返回给最终用户。我使用 gRPC 进行所有通信。

我已经这样设置了我的功能:

对于标准

type standardService struct {
    pb.UnimplementedStandardServiceServer
}

func (s *standardService) GetStandard(ctx context.Context, in *pb.GetStandardRequest) (*pb.GetStandardResponse, error) {

    conn, _:= createClient(ctx, geomapSvcAddr)
    defer conn1.Close()

    newCtx, span1 := otel.Tracer(name).Start(ctx, "GetStandard")
    defer span1.End()

    countryInfo, err := pb.NewGeoMapServiceClient(conn).GetCountry(newCtx,
        &pb.GetCountryRequest{
            Name: in.Name,
        })

    //...

    return &pb.GetStandardResponse{
        Standard: standard,
    }, nil

}

func createClient(ctx context.Context, svcAddr string) (*grpc.ClientConn, error) {
    return grpc.DialContext(ctx, svcAddr,
        grpc.WithTransportCredentials(insecure.NewCredentials()),
        grpc.WithUnaryInterceptor(otelgrpc.UnaryClientInterceptor()),
    )
}
Run Code Online (Sandbox Code Playgroud)

对于地理地图 …

go grpc open-telemetry

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

检查列表 A 的至少 1 个整数是否小于列表 B 的 1 个整数

给定一个包含整数的列表 A 和 B,我希望两个列表进行比较,如果列表 A 的至少一个元素小于列表 B 的至少一个元素,则返回 true,否则返回 False。

例子:

>>> A = [1,4]
>>> B = [0,2]
>>> compare_lists(A, B) # True because 1 from list A < 2 from list B

>>> A = [2,4]
>>> B = [0,2]
>>> compare_lists(A, B) # False because all elements of A are greater or equal to all B elements
Run Code Online (Sandbox Code Playgroud)

该函数最直接的实现:

def compare_lists(a, b):
    for i in a:
        for j in b:
            if i < j:
                return True
    return False …
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
507
查看次数