小编jan*_*Dro的帖子

Fargate vs Lambda,何时使用哪个?

我对整个无服务器环境都很陌生,而且我正试图在使用Fargate和Lambda时解决这个问题.

我知道Fargate是ECS的无服务器子集,Lambda也是无服务器的,但是由事件驱动.但我希望能够以简单的方式向其他熟悉容器的人解释这两种范例,而不是那些使用AWS和无服务器的人.

目前,我们有几个物理服务器负责接收文本文件,解析它们,并用结果填充几个数据库表.根据我的理解,我认为这将是一个更适合Lambda的用例,因为解析文本文件的过程是由计划触发的,不会长时间运行,并且在不使用时会减少.

但是,如果我们要移植一个接收API调用的服务器,我们可能会想要使用Fargate,因为我们总是需要至少一个映像实例启动并运行.

就容器而言,如果容器的设计是这样设计的话,可以安全地说:

docker run <some_input>
Run Code Online (Sandbox Code Playgroud)

然后这是Lambda的工作.

但是,如果容器设计为执行以下操作:

docker run --expose 80
Run Code Online (Sandbox Code Playgroud)

然后这是Fargate的工作.

这是一个很好的比喻吗?

amazon-ecs aws-lambda serverless aws-fargate

19
推荐指数
2
解决办法
9246
查看次数

有状态与无国籍服务Grails

我目前正在将业务逻辑从控制器方法转移到服务,当时我摔倒了grails服务的兔子洞.我的服务中有以下方法:

Job closeJobOpportunity(Job op, Employee res) {
    op.chosenOne = res
    op.requisitionCanceledDate = new Date() 
    if(!op.chosenOne || !op.hrEffectiveDate){
        return null
    }
    else if(StringUtils.isEmpty(op.chosenOne.id)){
        return null
    }
    return op
}
Run Code Online (Sandbox Code Playgroud)

我开始考虑这种方法可能导致同步问题的不同方式(因为grails使服务成为单例),并注意到grails文档提到只要不存储状态,就应该将业务逻辑放入服务中.

听到无知或不知情的风险,有人可以简单地提供Grails中有状态和无状态服务之间的差异吗?以上方法是有状态的吗?它应该被控制器中的try catch包围吗?

service grails groovy

4
推荐指数
1
解决办法
1554
查看次数

Grails应用程序与巨大的表

我正在尝试从大约20,000列宽和700行深的现有csv文件创建数据库.在grails中,我希望20,000列域属于另一个更简单的域(大约200列).但在编译后,我得到:

java.lang.RuntimeException: Class file too large!
Run Code Online (Sandbox Code Playgroud)

这是可以理解的,因为它的数据太多了.我的问题是,在grails中处理这个问题的最佳方法是什么?我应该简单地将大表分成不同的域吗?寻找不同的表格式?

我特别担心:

1)搜索时间,解析搜索方法,然后委托子域.

2)将巨大的csv文件中的数据导入域中.

csv grails bigdata

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

传递'+ >>时Perl不读取文件

我试图将文件的内容放入一个数组中以进行grepping,但由于某种原因,当我传递'+ >>'参数时它没有这样做.但是,当我使用不同的参数打开同一个文件的两个单独的文件句柄时,它可以工作

这有效:

open( FILEHANDLE, '<', $file ) or $file_not_found = 1;
open( APPENDFH, '>>', $file );
my @file_list = <FILEHANDLE>;
print("This is my file list @file_list \n");
Run Code Online (Sandbox Code Playgroud)

打印:

This is my file list 2015-11-06 11:17:57Example
Run Code Online (Sandbox Code Playgroud)

这不是:

open( FILEHANDLE, '+>>', $file ) or $file_not_found = 1;
my @file_list = <FILEHANDLE>;
print("This is my file list @file_list \n");
Run Code Online (Sandbox Code Playgroud)

打印:

This is my file list
Run Code Online (Sandbox Code Playgroud)

perl

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

无法访问的返回语句仍然会抛出错误

我有这个非常简单的代码片段:

static String getInput() throws IOException{
  if(in.ready()){
      return in.readLine().trim();
  }
  System.err.println("Please provide more input in order to execute the program.");
  System.exit(0);
  return "";
}
Run Code Online (Sandbox Code Playgroud)

据我所知,JVM没有可能在代码末尾执行return语句.但如果我评论这一行,java会抱怨缺少return语句.为什么JVM不能识别System.exit(0)不允许执行任何其他代码,但如果返回不允许执行代码,则会抱怨无法访问的语句?我认为最后的return语句是多余的,可能会让其他开发者感到困惑,为什么java不让我摆脱它呢?

java jvm unreachable-code

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

将属性添加到双类

我正在运行一个聚类算法,它聚集了双打集合的集合.但是一旦完成聚类,我想知道每个Double属于哪个父类.

class PatientMRNA {
     Patient patient
     MRNA mrna
     Double value
}
Run Code Online (Sandbox Code Playgroud)

我使用hql查询数据库,并将PatientMRNA表中的选定值放入Collection中,如下所示:

[[x11,x12...x1m],[x21,x22...x2m]...[xn1, xn2, xnm]]
Run Code Online (Sandbox Code Playgroud)

这个集合通过一个非常好的算法聚集在这里:https://coviello.wordpress.com/2013/03/30/learning-functional-programming-ak-means-implementation-in-groovy/

完成聚类后,我们的结果如下:

[[centroid]: [[x?1, x?2...x?m],[x?1,x?2...x?m]...[x?1,x?2...x?m]] [centroid2]: [[],[]...[]] 
Run Code Online (Sandbox Code Playgroud)

其中每个x阵列(属于患者)值是随机分配的,具体取决于它所分配的簇.

我的问题是:有没有办法在Groovy中扩展Double类,以便它还具有PatientId属性?或者我应该以其他方式看待这个问题吗?

groovy

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