【问题标题】:Service fabric and WCF服务结构和 WCF
【发布时间】:2016-12-15 19:51:12
【问题描述】:

我们正计划使用服务结构将我们的服务重新设计为微服务,我有一些问题希望您能帮助我,我们开始吧:

通信堆栈
我们所有的服务都在使用 net.tcp 的 WCF 上,所以理论上我们可以重用 WCF 通信堆栈,但我不确定这是最好的方法,默认通信堆栈和 WCF 之间有什么区别?

可扩展性
我们有很多使用WCF的扩展点的实现,如果我们选择WCF通信栈我们还能用这个吗?我们基本上使用IServiceBehaviorIOperationInvokerOperationContextServiceSecurityContext

1.安全 ServiceSecurityContext/OperationContext 来获取 IP,如果调用是在 Intranet 中进行调用的域帐户,我检查了 StatelessServiceContext 但找不到任何可以获取此信息的属性。

2。参数和时间 IOperationInvoker 记录方法的参数以及完成操作所花费的时间,阅读this 看来,如果实现 Start/Stop 方法,持续时间是自动完成的,我'不确定这是否适用于属性的上下文以及发生错误时使用IErrorHandler

3.通知 IErrorHandler 记录异常,然后向开发团队发送电子邮件,我们目前正在使用 SMTP 服务器执行此操作,有没有更好的方式在 azure 中发送通知?。

感谢您的宝贵时间

【问题讨论】:

    标签: wcf azure-service-fabric etw


    【解决方案1】:

    回答这个问题:

    通讯栈 从未在默认侦听器和 WcfCommunicationListener 之间进行性能比较,但我们选择 WCF 重用我们所有的组件,并作为第一个版本来了解服务结构的工作原理。

    可扩展性

    1. 安全性所有代码的工作方式都相同,我们需要对上下文的工作方式进行一些更改,但所需的所有信息都在那里(加上节点上的一些数据)运行)

    2. 参数和时间我们将 Azure Service Profiler 与我们自己的 Microsoft.Diagnostics.Tracing.EventSource 实现结合使用,使用 IOperationInvoker 捕获数据,太棒了

    3. 通知 IErrorHandler 继续工作,但我们使用 sendgrid 处理电子邮件。

    【讨论】:

      猜你喜欢
      • 2018-07-25
      • 2012-02-21
      • 1970-01-01
      • 2013-11-25
      • 2019-03-13
      • 2016-06-17
      • 1970-01-01
      • 2013-07-17
      • 2023-03-08
      相关资源
      最近更新 更多