If I had a web shop application and I'd want to provide it to multiple customers, who sell their products from the web shop, how would I design such application when it comes to deployment?
如果我有一个网上商店应用程序,并且我想将它提供给从网上商店销售产品的多个客户,那么在部署时我将如何设计这样的应用程序?
- One application with one database on a central server. Every data row has a customer ID which states to which customer ("shop instance") it belongs.
一个应用程序在*服务器上有一个数据库。每个数据行都有一个客户ID,用于说明它属于哪个客户(“商店实例”)。
OR
- Every customer has its own copy of the web shop with its own database and its own (virtual) server.
每个客户都有自己的网上商店副本,其中包含自己的数据库和自己的(虚拟)服务器。
OR
- [your idea here]
[你的想法在这里]
1 个解决方案
#1
I would make it a "boxed product" - each customer has their own web shop and their own database. If one customer turns out to be as busy as Amazon, you can scale out their implementation easily (i.e. slam it on a dedicated server when it gets quite busy, then onto a server farm when it goes completely nuts). If you have a customer who feels very proprietry about their customer data (i.e. they don't want any chance of someone else getting to it) it will ease their mind to know that their data is in their own data store.
我会把它变成一个“盒装产品” - 每个客户都有自己的网店和他们自己的数据库。如果一个客户变得像亚马逊一样繁忙,你可以轻松地扩展他们的实现(例如,当它变得非常繁忙时,将其关闭在专用服务器上,然后当它完全疯狂时,将其关闭到服务器场)。如果您的客户对其客户数据感到非常独立(即他们不希望其他人有机会获得它),那么他们会放心,知道他们的数据在他们自己的数据存储中。
This also gives you a couple of sales options. A hosted solution, where you create and host their shop, and a licensed solution, where they host it on their own servers.
这也为您提供了几种销售选择。托管解决方案,您可以在其中创建和托管他们的商店,以及许可的解决方案,他们在自己的服务器上托管它。
#1
I would make it a "boxed product" - each customer has their own web shop and their own database. If one customer turns out to be as busy as Amazon, you can scale out their implementation easily (i.e. slam it on a dedicated server when it gets quite busy, then onto a server farm when it goes completely nuts). If you have a customer who feels very proprietry about their customer data (i.e. they don't want any chance of someone else getting to it) it will ease their mind to know that their data is in their own data store.
我会把它变成一个“盒装产品” - 每个客户都有自己的网店和他们自己的数据库。如果一个客户变得像亚马逊一样繁忙,你可以轻松地扩展他们的实现(例如,当它变得非常繁忙时,将其关闭在专用服务器上,然后当它完全疯狂时,将其关闭到服务器场)。如果您的客户对其客户数据感到非常独立(即他们不希望其他人有机会获得它),那么他们会放心,知道他们的数据在他们自己的数据存储中。
This also gives you a couple of sales options. A hosted solution, where you create and host their shop, and a licensed solution, where they host it on their own servers.
这也为您提供了几种销售选择。托管解决方案,您可以在其中创建和托管他们的商店,以及许可的解决方案,他们在自己的服务器上托管它。