想知道处理以下场景的最佳方法是什么。
我有一个蔚蓝云服务,它使用azure存储表来根据请求查找数据。表中的数据是定期(每周一次)脱机生成的。
当脱机生成新数据时,我需要将其上传到一个单独的表中,并对服务进行配置更改(更改表名),以从新表中获取数据,然后重新部署服务。(每次数据更改时,我都会更改表名--作为常量存储在代码中并重新部署)
另一种方法是为我的蔚蓝web角色保留一个配置参数,它指定保存当前生产数据的表的名称。然后,在服务中,我为每个请求读取配置变量-获取对表的引用并从中获取数据。
是ok之上的第二种方法--或者因为我阅读了配置,所以它会影响性能,在服务的每个请求上创建一个表客户端。(我的服务的SLA小于2秒)
发布于 2014-11-25 12:45:23
要回答你的问题,第二种方法肯定比第一种更好。我不认为您会受到性能影响,因为配置设置是在第一次读取时缓存的(我在这里的一个线程中读取了配置设置),而且创建表客户端不会造成网络开销,因为除非您在表客户机上执行一些方法,否则这个对象就位于内存中。一种可能是从配置文件中读取,并将其放入静态变量中。更改配置设置时,捕获角色环境更改事件,并从配置文件中将静态变量更新为新值。
第三种选择可能是在另一个表中对表名进行软编码,并让应用程序从那里读取表名。您可以在上传过程中更新表名,方法是首先上载数据,然后使用已上载数据的新表名更新此表。
https://stackoverflow.com/questions/27126175
复制相似问题