标签: spring-cloud-gcp

Google Cloud Spanner 和 Cloud SQL 之间有什么区别?

我是 GCP 堆栈的新手,所以我对用于存储数据的 GCP 技术数量感到非常困惑:

https://cloud.google.com/products/storage

虽然上面的文章中没有提到 google cloud spanner,但我知道它是存在的,并且 iti 用于数据存储:https : //cloud.google.com/spanner

从我目前的观点来看,我没有看到云 sql(引擎盖下有 postgres)和云扳手之间的任何显着差异。我发现它的语法有点不同,但是当我应该更喜欢这种技术而不是 spring cloud sql 时,它没有回答。

你能解释一下吗?

聚苯乙烯

我认为spring cloud sql是一个由google管理的具有自动复制和水平可扩展性的传统数据库。

google-cloud-sql google-cloud-platform google-cloud-spanner spring-cloud-gcp

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

确认后反复收到来自Google Pub/Sub订阅的消息[Heisenbug]

我想注意的是,我将描述的场景很少发生,并且在大多数情况下,一切都按预期进行。

我在 Pub/Sub 端有 1 个主题和 1 个订阅。

我的 java 应用程序侦听订阅,进行一些处理并发送回确认。由于 google Pub/Sub 保证至少一次交付,我们根据objectGeneration标头和“objectId”标头在我们这边进行消息重复数据删除。

有时我们会看到我们的应用程序一次又一次地接受已确认的消息,这是意外行为。

日志示例:

//first
2019-12-17 20:51:57.375 INFO 1 --- [sub-subscriber3] bucketNotificationFlow : Received new message from pub-sub: GenericMessage [payload={....}, headers={.....objectGeneration=1576615916875106, eventTime=2019-12-17T20:51:56.874940Z, objectId=Small_files_bunch/100_12_1.csv, ....
....
2019-12-17 20:51:57.698 INFO 1 --- [sub-subscriber3] .i.g.PubSubMessageAcknowledgementHandler : Acknowledged message - 1576615916875106
...
//duplicate 1
2019-12-17 20:51:59.663 INFO 1 --- [sub-subscriber4] bucketNotificationFlow : Received new message from pub-sub: GenericMessage [payload={...}, headers={ objectGeneration=1576615916875106, eventTime=2019-12-17T20:51:56.874940Z, objectId=Small_files_bunch/100_12_1.csv", ....
...
2019-12-17 20:51:59.704 INFO 1 --- …
Run Code Online (Sandbox Code Playgroud)

java spring-integration google-cloud-platform google-cloud-pubsub spring-cloud-gcp

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

如何在 Spring GCP 中订阅多个 Google PubSub 项目?

我想在 Spring Boot 应用程序中订阅多个 Google Cloud PubSub 项目。阅读如何在一个 Spring Boot 应用程序中使用 Spring Cloud 连接/配置两个 pubsub gcp 项目中的相关问题后,如何将 Spring Cloud GCP 用于多个 google 项目https://github.com/spring-cloud/spring-cloud-gcp/issues/1639我尝试如下。但是,由于没有适当的文档或示例代码,我不清楚如何实现这一点。我收到以下给定的错误,这似乎是由于未加载凭据而引起的。

  • 实现这一点的正确方法是什么?
  • 如何加载不同项目的凭据以配置每个 InputChannel?
  • 我可以在同一个配置文件中拥有不同项目 ID 的 bean,如下所示吗?
  • 每个项目 ID 是否需要不同的属性文件?

发布订阅配置

已评论第二个 PubSub 项目的配置。

    package com.dialog.chatboard.config;

    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.cloud.gcp.pubsub.core.PubSubTemplate;
    import org.springframework.cloud.gcp.pubsub.core.subscriber.PubSubSubscriberTemplate;
    import org.springframework.cloud.gcp.pubsub.integration.inbound.PubSubInboundChannelAdapter;
    import org.springframework.cloud.gcp.pubsub.support.DefaultSubscriberFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.integration.channel.DirectChannel;
    import org.springframework.messaging.MessageChannel;

    @Configuration
    public class PubSubConfig {

        DefaultSubscriberFactory genieFactory = new DefaultSubscriberFactory(() -> "XXXXX-projectId-01");
        PubSubSubscriberTemplate …
Run Code Online (Sandbox Code Playgroud)

java configuration spring-boot google-cloud-pubsub spring-cloud-gcp

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

有没有办法使用谷歌云sql中的pg_cron?

目前我需要将数据库从 postgreSql 移动到 google cloud sql。我使用 pg_cron 来删除过时的记录,如下所示:

SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);
Run Code Online (Sandbox Code Playgroud)

我读过以下文章: https: //cloud.google.com/sql/docs/postgres/extensions

并且没有找到任何与pg_cron相关的内容

我还读过Does Cloud SQL Postgres has any cron-like tool? 但这看起来对我的任务来说是过度设计的。

有没有更简单的方法?

java postgresql google-cloud-sql spring-cloud-gcp

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