我将在AWS上构建微服务架构,我想请你澄清我的疑虑.
我目前的一般概念
我想使用API网关,它公开了在Elastic Beanstalk中运行的微服务API.我想将Elastic Beanstalk放在VPC中,而无需从Internet直接访问其实例.
问题和怀疑:
amazon-web-services amazon-elastic-beanstalk microservices aws-api-gateway
我想存储一些与某些父对象相关的项目列表.
父对象如下:
user_id - hash key
timestamp - range key
attributeA - String
attributeB - Number
listC - List of objects
Run Code Online (Sandbox Code Playgroud)
listC是一个对象列表(如JSON),其中每个对象可以有几个字段:
attrX - number
attrY - string
attrZ - string
Run Code Online (Sandbox Code Playgroud)
列表的大小可以变化,从几个元素到hundreads.
我应该如何存放它们?
由于DynamoDB的限制,我担心我不能将此列表保留为父对象的属性.我想将这些列表移到另一个表中.但是,我不确定我是否应该:
方法(1):
-------------------------------------
| parent_id | attrX | attrY | attrZ |
-------------------------------------
| 178 | 2 | "abc" | "xyz" |
-------------------------------------
| 178 | 2.4 | "klm" | "qwe" |
-------------------------------------
Run Code Online (Sandbox Code Playgroud)
方法(2):
------------------------------------------------------------------------
| parent_id | Chunk | ListC |
------------------------------------------------------------------------
| …Run Code Online (Sandbox Code Playgroud) 如何动态添加标记到React-Leaflet贴图?
我想在用户点击地图时添加新标记.我无法让它发挥作用.
import React, { Component } from 'react'
import { render } from 'react-dom';
import Control from 'react-leaflet-control';
import { Map, Marker, Popup, TileLayer, ZoomControl, ScaleControl } from 'react-leaflet';
import './Points.scss'
export default class PointsMap extends Component {
state = {
lat: 50.2,
lng: 30.2,
zoom: 13,
}
handleClick = (e) => {
this.addMarker();
}
addMarker() {
// A) Following raises error:
var marker3 = L.marker([50.5, 30.5]).addTo(this.refs.map);
// B) With following marker doesn't appear on map:
const position2 = …Run Code Online (Sandbox Code Playgroud) 我创建了Backend服务器,它从移动应用程序(iOS)获取ID令牌.如何验证此令牌是否正常并且可以安全地使用它?
官方Google有关验证令牌的文档:
https://developers.google.com/identity/protocols/OpenIDConnect#validatinganidtoken
它建议在本地验证ID令牌,而不向Google发送验证请求.可以像在文档中那样在本地检查ID Token中的某些字段,或者我是否应该向Google发送一些请求以验证令牌?
Google文档提到有关调试和验证ID令牌的方法:
https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123
但它不建议在生产中使用它.我还考虑过使用Access Token和Id Token,并首先验证Access Token:
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=
但它是否使验证客户端凭据(移动应用程序,Web应用程序)的整个过程更加安全?
是否可以发送请求:Content-Type:multipart/form-data到API Gateway?
就我而言,我尝试通过邮递员发送如下表格数据:
user[email]:extest829@ex.com
user[password]:password
user[password_confirmation]:password
user[username]:testUser
Run Code Online (Sandbox Code Playgroud)
但似乎API Gateway失去了内容.
当我发送它时,一切正常:application/x-www-form-urlencoded或application/json.
在特定的RDS列中作为日期,我会在用户的试验结束时保留信息.
我将在数据库中每天检查这些日期,并且当试用结束时少数几天,我想发送一封电子邮件(使用SES).
如何在AWS中运行定期任务来检查数据库?我知道我可以使用:
还有其他我错过的解决方案吗?
我计划基于微服务构建后端。下图展示了我当前的想法:
两个重要功能是:
最终没有确定技术栈,但最初我想到的是:
我对当前的概念有以下疑问:
cloud distributed ruby-on-rails video-streaming microservices
是否可以将.ebextensions部署到Multi-Docker Elastic Beanstalk?
我使用Dockerrun.aws.json文件上传我的应用程序,一切正常.我想设置日志以流式传输到Cloudwatch.我应该使用.ebextensions做到这一点.但是,如果我只在网络浏览器(AWS控制台)上传Dockerrun.aws.json(不是.zip或.war),我不知道如何附加.ebextensions .
amazon-ec2 amazon-web-services docker amazon-elastic-beanstalk
我想在令牌的有效负载中添加一个特定的属性.此属性很少更改(每月一次),但我希望在此更改后立即更新令牌.
工作流程
在Web /移动应用程序中,用户打开配置文件视图并更改属性X.此属性的当前值也存储在ID令牌中.因此,当用户提交编辑时,X的新值应保存在后端,并应替换ID令牌中的旧值.这很重要,因为属性X确定用户是否能够在app中执行特定的操作.
当有效负载的属性发生变化时,Cognito会做什么?它在下一个请求中发送新版本的JWT ID令牌?
我应该使用刷新令牌吗?或强制退出并登录用户?
我必须上传100k小文件(总大小:200MB).
我试图通过网络浏览器(AWS控制台)这样做,但在前15分钟,我只上传了2MB.
将100k小文件上传到S3的最快方法是什么?
它们之间有什么区别?我什么时候应该使用CBCentral,什么时候使用CBCentralManager?
据我了解,CBCentralManager 和 CBCentral 都用于管理连接,但 CBCentral 允许移动应用程序充当另一个 BLE 设备,对吗?
amazon-ec2 ×2
amazon-s3 ×1
aws-lambda ×1
cloud ×1
database ×1
distributed ×1
docker ×1
google-api ×1
google-oauth ×1
ios ×1
leaflet ×1
nosql ×1
oauth-2.0 ×1
openid ×1
rds ×1
reactjs ×1