社交网络架构,C ++客户端Neo4j数据库之间有什么关系?

问题描述 投票:2回答:1

我目前正致力于实施社交网络。该架构是:

- 分布式C ++ / Qt客户端 - Neo4j服务器数据库

我可以直接查询数据库,因为它有我的Qt应用程序的REST接口。我对这种方法不太满意,因为它不安全,也没有优化(缓存请求)。

我应该使用什么服务器/架构来管理来自客户端的请求?

我比Python更像Python,但速度很重要。

你认为REST足够快还是我应该使用RPC?

在最后一个场景中,这意味着我应该为数据库开发自己的服务器实现。

java c++ python social-networking neo4j
1个回答
2
投票

REST会足够快。使用它直到您可以测量并有一些真实的数据告诉您这是一个问题。

但我不会使用REST API直接处理数据库。

我将在两者之间添加管理安全性,验证和绑定,用例和错误处理,日志记录,事务等的层。

如果你在Spring中这样做,那么控制器会担心前两个以及处理后两个的服务。

是的,客户端/服务器直接与数据库相比更复杂,但是您需要以更多层和更多代码为代价购买您想要的东西(安全性等)。决定它对你的价值。

当然,速度很重要,但限制更可能由网络延迟设置而不是其他任何东西。如果客户端通过Internet访问,则意味着平均有12个路由器跃点可以访问您的应用程序。我看到公司内部网上有70毫秒的往返延迟。让它成为衡量速度的标准。

至于什么是重要的,我认为一个社交网站应该担心扩展到很多访问者。我所知道的体系结构是线程池和请求队列,每个传入请求有一个线程,或者像Netty这样的非阻塞I / O.我认为相当于Netty的Python是Twisted

© www.soinside.com 2019 - 2024. All rights reserved.