我们目前正在我们的平台上实施Instant Messaging系统.我们需要为用户提供聊天记录,并能够显示用户拥有的最后5个对话(在Facebook上预览).
事实上,我们必须考虑如何存储所有这些数据.
我们正在使用Elasticsearch,我们认为这可以成为存储聊天消息并使其高度可用于读取操作的可靠解决方案.
我们的问题是,Elasticsearch中最好的数据结构是什么,以便我们的读取操作可以快速而不是太重.
我们想到了很多解决方案,这可能是我们想出的最好的解决方案.
我们的消息表示可能是:
{
"ID" : 1,
"sender" : "john",
"receiver" : "doe",
"content" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
"date" : "timestamp"
}
Run Code Online (Sandbox Code Playgroud)
我们可以使用嵌套对象在对话中存储消息:
{
"ID" : 317,
"participants" : "john, doe",
"date" : "timestamp of the last received message",
"messages": [
{
"ID": "49753",
"sender" : "john",
"receiver" : "doe",
"content" : " Lorem ipsum dolor sit amet, consectetur adipiscing elit.", …
Run Code Online (Sandbox Code Playgroud) 我正在通过 java Amazon TransferManager 上传具有不同扩展名(jpg、png...等)的多张图片。
例如:picture1.png、picture2.jpg。我想提供没有扩展名的内容,对文件夹/图片1 的获取请求将返回图片1.png。
客户端是一个angularJs应用
以前,我将所有这些图片托管在 EC2 上,并通过APACHE和选项Multiviews提供服务,我们可以用 AmazonS3 做类似的事情吗?
谢谢