如何在c#中开发分布式应用程序

时间:2009-11-04 11:52:26

标签: c# .net distributed

我将开发一个分布式应用程序,我还没有开发分布式应用程序 之前我在脑子里有很多问题,所以要解释这些问题,我将使用一个场景

我的申请将用于一个名为“梦想”的城市

在这个城市,北部有一座名为“A”的建筑物。 这个建筑有服务器,并且安装了DBMS,例如以Oracle 10g为例

在我们的“梦想”城市的东部和西部有2栋建筑物,一栋叫做“B”,另一栋叫做“C”,这两栋楼里有许多柜员如何使用我的应用程序存储和检索信息。我们的数据库安装在建筑物“A”

的服务器上

*注意:你的建筑没有连线!

我希望找到你的好建议和指南。

thanx很多

2 个答案:

答案 0 :(得分:0)

这更像是系统管理员的工作,而不是程序员的工作。有两种典型的解决方案:

  • 使用NAT将构建A的防火墙配置到某个端口上的数据库服务器。然后从建筑物B和C连接到建筑物A的公共IP或DNS和端口。
  • 配置VPN。

答案 1 :(得分:0)

开发分布式应用程序大致相同,除非您使用的是为Erlang设计的并发和分布式处理平台。

C#,Java和其他原则是相同的。如果您的应用程序包含多层设置,许多应用程序实例连接到数据库,那么您不必担心。锁定语义,事务和状态完整性在数据库中实现,但您仍需要了解基础知识。

如果您正在编写数据存储引擎或后端(而不是oracle或其他RDBMS)的自定义方法,那么执行需要知道分布式和并发系统的故障和肮脏。你将不得不处理时间,状态,并发控制,冗余和大量其他东西。

正如我所说,如果它是一个传统的数据库支持的应用程序,那么你只需要了解Oracle本身的基础知识和问题,你需要锁定什么(如果有的话)..

如果您想学习基础知识,请从线程和异步编程开始,直到网络分布式系统。

希望以某种方式有所帮助