问题标签 [resiliency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
14720 浏览

wix - 如何确定导致 Windows Installer 重复自我修复的原因?

  • 如何仅记录导致 Installshield 2008 生成的 MSI 文件通过“自我修复”重新安装的更改?
  • 自我修复背后的原因是什么?
  • 如何使用 Installshield 2008 禁用 MSI 的自我修复?
0 投票
3 回答
3827 浏览

wix - 如果我删除文件,为什么 MSI 安装程序会重新配置?

我在 Visual Studio 2008 中创建了一个 MSI 安装程序包。问题是安装后,如果我删除任何已安装的文件。这不是我的安装程序包的预期行为。我的文件安装属性是:

PackageAs vsdpaDefault Permanent False ReadOnly False Register vsdrfDoNotRegister System False Transitive False Vital False

如果这是微不足道的,请原谅我。我不敢相信我无法让谷歌放弃答案。:)

0 投票
1 回答
4279 浏览

azure-sql-database - 如何使 Dapper 对 SqlAzure 具有弹性?

我最近发现 Entity Framework 有一种非常简单的方法可以使 SQL Azure 中的连接具有弹性。在 Dapper 中是否有推荐的方法来完成相同的操作?

0 投票
1 回答
713 浏览

java - Hystrix 命令的预期粒度?

我刚刚阅读了Hystrix 文档/wiki,但仍然在基本层面上遗漏了一些东西:impl的预期粒度级别是什么?HystrixCommand

例如,假设我有一个 DAO 对象来处理某些 DB 实体的 CRUD 操作,例如Widget

现在,如果此 DAO 连接的数据库出现故障,所有 DAO 方法都将开始失败。但我认为数据库也有可能被捆绑在某种事务或维护模式下,比如允许读取,但不允许写入。在那种边缘情况下,读取会成功(getX(...)方法),但所有其他的都会因SqlExceptions 而失败。

所以我问:我应该在这里使用的预期粒度级别是多少?任何一个:

  1. 每个DAO 方法都有一个HystrixCommandimpl ,看到在某些情况下命令可以成功运行,而在其他情况下,它们可能会失败;或者
  2. 一个HystrixCommand以某种方式融入 DAO 类,跨越所有DAO 方法(如果一个命令失败,则 DAO 作为一个整体“下降”。)?

我认为前者代表了更灵活的工程设计,但作为图书馆的消费者,我向我介绍了更多代码。想法?想法?

0 投票
1 回答
337 浏览

c# - EntityFramework 6 Database.SqlQuery 连接弹性

我知道,从版本 6 开始,EntityFramework 在使用 SQL Azure 数据库时支持连接弹性功能。我很确定它适用于 DbSet 上下文成员。

但是如果我想像这样对数据库执行 SQL 查询怎么办:

像这样执行此操作是否安全?我需要在这里使用任何Retry框架吗?我想没有,但我想确定一下。

0 投票
1 回答
1276 浏览

jdbc - Hystrix 应该替换现有的 JDBC/HTTP 连接池,还是委托给它们?

许多应用程序将连接池用于 HTTP 和 JDBC 调用以实现弹性。但是使用和配置这两种类型的池是非常不同的。这复制了实现两者共有的弹性模式的复杂性——例如超时、重试、缓存/警报回退、断路和监控。

在我看来, Hystrix为 HTTP 和 JDBC 调用提供了配置和实现这些相同弹性模式的通用方法。

我的问题是:

  1. Hystrix 理论上可以完全替代现有的 HTTP 和 JDBC 连接池吗?
  2. 如果是这样,这样做的利弊是什么?

完全替换它们可以减少围绕这些连接池的复杂性 - 以及它们伴随的超时和验证查询属性等。但是我对 Hystrix 如何“保持活动” JDBC / HTTP 连接 - 从而避免昂贵的连接设置成本 - 没有委派给专门用于这些任务的现有图书馆。

对于上下文,我有一个 DropWizard 应用程序,它使用 Tomcat DBCP 作为其 JDBC 连接池,使用 Apache HttpClient 作为其 HTTP 连接池。

0 投票
2 回答
101 浏览

java - 减轻 Hadoop 的跟腱

我刚刚给这个 Hadoop tuorial读了一遍,其中指出 Hadoop 在以下位置有跟腱(单点故障)JobTracker

JobTracker 是 Hadoop MapReduce 服务的单点故障,这意味着如果 JobTracker 出现故障,所有正在运行的作业都会停止。

还有这篇文章指出这NameNode是一个单点故障:

Hadoop 集群中的单点故障是 NameNode。

单点故障很糟糕,可以吗?什么策略/技术/工具/等。可以做些什么来规避这些 SPOF 并使 Hadoop 变得冗余、容错和弹性(流行语警报!)?

0 投票
3 回答
317 浏览

c# - 实体框架多结果集、Azure 连接弹性和命令拦截

我正在尝试将连接弹性添加到我的存储库类并对其进行测试,以便将我的 WCF 服务移动到 Azure。Julie Lerman 有一篇很棒的文章:

http://thedatafarm.com/data-access/testing-out-the-connection-resiliency-feature-into-ef6/#comment-61311

当我调用使用普通实体框架查询的存储库方法时,Interceptor ReaderExecuting 方法被触发,我能够模拟连接问题。

但是由于某种原因,当我使用从存储过程返回的“多个结果集”的存储库方法之一正在执行时,不会调用 Interceptor ReaderExecuting 方法(请参见下面的代码)。我期望在执行“ObjectContext.Translate”或“ToList”时调用 ReaderExecuting 方法,但它没有:

仅供参考,我正在关注这篇文章来处理“多个结果集”:

https://msdn.microsoft.com/en-us/data/jj691402.aspx

我正在尝试使用实体框架 6+ 执行策略来处理连接弹性。但是如果它不能处理多个结果集,我的下一个选择是使用 Polly 库来处理瞬态异常。

你有没有遇到过这种情况?

你有什么解决办法吗?

0 投票
1 回答
1324 浏览

c# - 为 WCF 调用瞬态异常实现重试模式

我有一个非常简单的 WCF SOAP 服务,它在每次调用时对 DB 进行一些更改并返回一些响应。我还使用 ServiceChannel 从我的客户端代码中调用它。

我想确保我的客户端代码不会在服务太忙时失败,因此实现了重试模式以在捕获到异常时重试服务调用。但是,如果异常是由我在 WCF 服务器端的代码引起的,我不想重试(如果它与连接无关,或者是否执行了任何 OperationContract 代码(超时并不意味着它不是,对吧?))。

所以我只想重试

  1. 我已发送请求
  2. 抓到一个异常
  3. 我的 OperationContract 方法中的服务器端代码均未执行

Microsoft 文章(上面的链接)几乎没有关于哪些类型的异常确切是瞬态的信息。我应该使用哪些异常类型来准确捕获我需要的内容?或者我应该如何过滤它们?

0 投票
7 回答
4356 浏览

python - 如何忽略 Python 中的所有潜在异常?

我正在用 Python 编写自定义备份脚本。有时 mkdir 功能或打印功能或任何功能由于各种原因而失败。这样的异常会停止整个脚本并在中间停止备份,这非常令人沮丧。到目前为止,我已经通过添加 try: ... except: ... 语句并正确管理这些异常来解决这些问题。但是,有一天,其他一些语句或函数也可能由于其他尚未触发的原因而引发异常。

有没有办法告诉脚本继续进行相当于将代码的每条语句都包装在 try: ... except: pass 子句中?日志当然会更好。

我注意到,当使用 Tkinter 等 GUI 工具包进行编程时,即使引发异常,应用程序也会继续运行。是否可以使用控制台完成此类事情?