小编Bha*_*gav的帖子

需要数据模型的建议

需要有关我的用例的数据模型的建议.我有两个参数来存储,A表示类型为T的东西,B表示类型为U的东西(它是T的集合)让我们说T类型的每个对象都有2个属性p1和p2,现在A =(t的计数与p1)/(t与p1的计数)+(t与p1的计数)

B =(A1 + A2 + ..)用于其T的集合/(U的T的数量).

现在,每当添加/修改类型为T的新对象时,我必须处理A和B的存储和更新.(几乎立即)

我已决定按如下方式处理A的计算,以维持一个像(T id,p1的编号,p2的编号)的表,从而每次数字改变时我只更新第2或第3列,我可以计算A在飞行中.但我很困惑如何优化B ??的计算 我最初的想法是在上面的表格上写一个触发器,这样每当有什么东西得到更新时,重新计算那个U对象的B,但我认为当我扩展时,这会给我带来很差的表现,有什么建议我可以在这做什么呢?

示例:假设U是具有多个块(T)的城市.现在,每个区块都会说p1个非veg餐厅和p2个veg.因此,每个区块的A将是p1 /(p1 + p2),并且每个城市的B将是该城市中的A1 + A2 + ../count(区块).如何为所有对象存储最初计算的A和B,这样当p1和p2不断变化时,我几乎需要立即更新A和B.

添加指标,以便更清楚地了解所需的解决方案,

  1. 我已经拥有10万个街区,接近1000个城市.这个数字将来会增加.我的要求是,一旦我为所有现有数据计算A和B,任何导致变化的p1和p2的更新都说'deltaA'.现在这个'deltaA'应该很容易附加到'A'而不是重新计算A(类似的B),我们不能有一些可以支持这个的数据模型吗?
  2. 延迟应为~100ms i,在p1/p2变化后应该可以使用A和B.

  3. 写入频率将为峰值,它将同时为100或1000次写入或3-5次.

mysql database database-design data-modeling

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

dynamoDB自动缩放比较慢

我在我的一个应用程序中使用dynamoDB,并且我已经在桌面上启用了自动扩展,因为我的请求模式是零星的.但是我一直面临着一个问题,流量增加的速度远远大于自动缩放的速度.看下面的图片 在此输入图像描述

通常会错过爆发,导致爆发,并在某些情况下导致数据丢失.以前有人在这面对吗?任何已知的修复?

amazon-web-services amazon-dynamodb spring-boot

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

从 Spring Boot 连接到 AWS SQS 时出错

我正在尝试使用 spring cloud AWS 将 AWS SQS 集成到我的 springboot 应用程序中,但不断收到此错误(在下面发布),有人可以帮忙吗?

这是我的文件。

org.springframework.beans.factory.BeanCreationException:创建名为“simpleMessageListenerContainer”的 bean 在类路径资源 [org/springframework/cloud/aws/messaging/config/annotation/SqsConfiguration.class] 中定义时出错:调用 init 方法失败;嵌套异常是 java.lang.NoSuchMethodError: com.amazonaws.http.ExecutionContext.setCredentials(Lcom/amazonaws/auth/AWSCredentials;)V

@Configuration
public class AWSConfig {
    @Value("${amazon.dynamodb.endpoint}")
    private String amazonDynamoDBEndpoint;

    @Value("${amazon.aws.accesskey}")
    private String amazonAWSAccessKey;

    @Value("${amazon.aws.secretkey}")
    private String amazonAWSSecretKey;

    @Value("${amazon.sqs.endpoint}")
    private String amazonSqsEndpoint;
    @Bean
    @Primary
    public AmazonSQSAsyncClient amazonSQSAsyncClient() {

        AmazonSQSAsyncClient amazonSQSAsyncClient = new AmazonSQSAsyncClient(amazonAWSCredentials());
        if (!StringUtils.isEmpty(amazonSqsEndpoint)) {
            amazonSQSAsyncClient.setEndpoint(amazonSqsEndpoint);
        }

        return amazonSQSAsyncClient;

    }

    @Bean
    public AWSCredentials amazonAWSCredentials() {
        return new BasicAWSCredentials(amazonAWSAccessKey, amazonAWSSecretKey);
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以与 dynamodb 一起工作,但无法连接到 SQS。我已经在 application.properties 文件中提供了正确的访问密钥、秘密访问密钥和端点。

@Component
    @EnableSqs
    public …
Run Code Online (Sandbox Code Playgroud)

spring amazon-sqs amazon-web-services spring-boot spring-cloud

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

在Flask中使用pymysql时出错

我正在使用pymysql客户端连接到我的Flask API中的mysql,几天后一切正常(大约1-2天),然后突然开始抛出此错误

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 1039, in _write_bytes
    self._sock.sendall(data)
TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Main.py", line 194, in post
    result={'resultCode':100,'resultDescription':'SUCCESS','result':self.getStudentATData(studentId,args['chapterId'])}
  File "Main.py", line 176, in getStudentATData
    cur.execute("my query")
  File "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 166, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 322, in _query
    conn.query(q)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 855, in query
    self._execute_command(COMMAND.COM_QUERY, sql)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 1092, in _execute_command
    self._write_bytes(packet) …
Run Code Online (Sandbox Code Playgroud)

python mysql flask pymysql

6
推荐指数
2
解决办法
3383
查看次数

SQSlistener 未接收消息

我能够从 springboot 向 SQS 队列发送消息,但无法使用 sqslistener 注释接收消息,有人可以帮忙吗?

public void send(String message) {


    queueMessagingTemplate.convertAndSend("test-queue", MessageBuilder.withPayload(message).build());
}

@SqsListener(value = "test-queue", deletionPolicy = SqsMessageDeletionPolicy.NEVER)
public void receive(String message)
{
    System.out.println("message: " + message);
}
Run Code Online (Sandbox Code Playgroud)

我已经验证通过 goign 发送到 AWS 控制台,我可以在队列中看到我的消息,但它们不会接收方法。配置:

@Bean
public AmazonSQSAsyncClient amazonSQSAsyncClient()
{

    AmazonSQSAsyncClient amazonSQSAsyncClient= new AmazonSQSAsyncClient(amazonAWSCredentials());

    if (!StringUtils.isEmpty(amazonSqsEndpoint)) {
        amazonSQSAsyncClient.setEndpoint(amazonSqsEndpoint);

    }

}

@Bean
public SimpleMessageListenerContainerFactory simpleMessageListenerContainerFactory() {
    SimpleMessageListenerContainerFactory msgListenerContainerFactory = new SimpleMessageListenerContainerFactory();
    msgListenerContainerFactory.setAmazonSqs(amazonSQSAsyncClient());
    return msgListenerContainerFactory;
}

@Bean
public QueueMessagingTemplate queueMessagingTemplate(AmazonSQSAsync amazonSqs) {
    return new QueueMessagingTemplate(amazonSQSAsyncClient());
}

@Bean
public BasicAWSCredentials amazonAWSCredentials() { …
Run Code Online (Sandbox Code Playgroud)

amazon-sqs amazon-web-services spring-boot spring-cloud-aws

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

Spring JMS监听器即使在异常时也会确认

我正在使用JMS向我的SQS队列发送/接收消息,但是即使在使用client_acknowledge时出现异常,我也无法重新发送消息.怎么做到这一点?我试过一个简单的测试,

@JmsListener(destination = "test-normalqueue")
public void receiveNormalQueue(String message)
{

    try {
        logger.info("message received in normal queue: " + message);
        throw new NullPointerException();

    } catch (Exception e) {

        logger.error(LoggingUtil.getStackTrace(e));;
    }

}
Run Code Online (Sandbox Code Playgroud)

即使异常消息没有回到队列.

@Bean
public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {
    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
    factory.setConnectionFactory(getSQSConnectionFactory());
    factory.setConcurrency("1-2");
    factory.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE);
    return factory;
}
Run Code Online (Sandbox Code Playgroud)

java amazon-sqs amazon-web-services spring-jms spring-boot

5
推荐指数
2
解决办法
6008
查看次数

参数类型'T.Type'不符合预期类型'Comparable'

我试图在swift中创建一个小类但是获取以下错误参数类型T.Type不符合预期的类型Comparable

有人可以帮忙吗?

struct BST<T: Comparable> {
  let root: Node<T>?
  var count = 0

  init<T:Comparable>(data: T) {
    self.root = Node(data  : T) //Error Occurs in this line
  }
}//end class BST
Run Code Online (Sandbox Code Playgroud)

这是Node课程代码.

class Node<T: Comparable> {
  let data: T
  var left: Node?
  var right: Node?

  init(data: T) {
    self.data = data
  } //end init

} //end class node

func == <T> (lhs: Node<T>, rhs: Node<T>) -> Bool {
  return lhs.data == rhs.data
} //end ==

func …
Run Code Online (Sandbox Code Playgroud)

generics swift

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