我一直在阅读有关实例和租户以及 Saas 架构的内容。我的问题如下(如果您发现我对以下任何术语有错误,请更正):
1)实例:一个软件的实例是否只是该软件的一个副本,有自己的数据库?还有比这更重要的事情吗?
2)租户:租户是对单个实例共享一组通用访问权限的用户/用户组吗?
3)单实例:如果 Saas 提供商提供单实例服务,这是否意味着他们只创建其软件的单个实例?或者这是否意味着可以有多个实例,但每个实例可以为多个租户提供服务?如果是这样,单实例与多租户相同吗?
4)多实例:这是否意味着每个实例只能服务一个租户,或者是否可以有多个实例,每个实例服务多个租户?IE。多实例服务可以是单租户或多租户吗?
5)单租户:这是否仅仅意味着单个实例只能为一个租户提供服务,还是也意味着存在多个实例?IE。单租户服务可以同时是单实例和多实例吗?
6)多租户:这是否仅仅意味着单个实例可以为多个租户提供服务,还是意味着只有一个实例?IE。多租户服务可以同时是单实例和多实例吗?
7)总结一下:可以单实例+单租户、单实例+多租户、多实例+单租户、多实例+多租户吗?
saas single-instance multi-tenant multi-instance-deployment server
我想知道哪个模式建议使用计数器来表示处理的消息数,应用程序应该是无状态的.
例如,在应用程序部署在多个服务器上的体系结构中,数据库用于存储持久性信息(会话等).但是,此类信息不会像消息计数器那样暴露于并发更新.在单实例应用程序中,我们可以使用单例,但这不是这种情况.
你有什么建议来实施这样的计数器?使用计数器设计不好吗?
所以我使用一个非常简单的 CDN 服务。您指向您的网站,如果您通过其主机名调用它,他们会在第一次调用后为您缓存它。
我将其用于所有静态内容,例如 JavaScript 文件和图像。
这一切都很完美——而且我喜欢它的维护或设置成本非常低。
当推出新版本的 JavaScript 文件时,问题就出现了。如果文件发生更改,新的 JavaScript 文件会自动获取新的哈希值。
由于在多个实例上的转出并不是同时进行的,因此会出现问题。我尝试在此图中对其进行建模:
用言语来说:
我知道如何解决这个问题 - 即手动将文件上传到单独的存储并烘焙哈希值等。但这需要额外的代码并且有更多的“移动部件”,使维护更加复杂。
我更希望拥有像正常 CDN 行为一样无缝运行的东西。我想这是在多个实例上运行的网站的常见问题,但我找不到很多有关此问题的信息。
解决这个问题的常用方法是什么?
编辑
我认为另一个解决方案是以某种方式强制 CDN 转到 .js 文件与原始 html 文件相同的实例 - 但如何实现呢?
hash load-balancing cdn multi-instance-deployment azure-load-balancer
所以我正在尝试部署 Janusgraph (v 0.3.1) 的 2 个实例以在 ScyllaDb 后端的相同键空间中插入数据。为此,我使用 docker 部署了 2 个 janusgraph 容器。第一个开始时没有错误并在我的 ScyllaDb 中创建键空间,但第二个显示一些错误。
所以我的 Janusgraph 容器在一个集群上工作,而我的后端在另一个集群上工作。实际上,当我的密钥空间 Scylla 已经创建并且我遇到了同样的问题时,我尝试只使用一个容器来重新启动它。我还发现了一个脚本 clean.groovy 允许强制关闭打开的图形实例。但没有任何作用...
5316 [main] INFO org.janusgraph.diskstorage.Backend - Initiated backend operations thread pool of size 8
5648 [main] WARN org.apache.tinkerpop.gremlin.server.GremlinServer - Graph [graph] configured at [/janusgraph-config/janusgraph.properties] could not be instantiated and will not be available in Gremlin Server. GraphFactory message: GraphFactory could not instantiate this Graph implementation [class org.janusgraph.core.JanusGraphFactory]
java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [class org.janusgraph.core.JanusGraphFactory] …Run Code Online (Sandbox Code Playgroud) architecture ×1
cdn ×1
docker ×1
gremlin ×1
hash ×1
janusgraph ×1
java ×1
multi-tenant ×1
saas ×1
server ×1