时间:2016-12-9来源:本站原创作者:佚名

随着大数据时代的到来,分布式是解决大数据问题的一个主要手段,随着越来越多的分布式的服务,如何在分布式的系统中对这些服务做协调变成了一个很棘手的问题。今天我们就来看看如何使用C#,利用开源对分布式服务做协调。

在对分布式的应用做协调的时候,主要会碰到以下的应用场景:

业务发现(servicediscovery)

找到分布式系统中存在那些可用的服务和节点

名字服务(nameservice)

通过给定的名字知道到对应的资源

配置管理(configurationmanagement)

如何在分布式的节点中共享配置文件,保证一致性。

故障发现和故障转移(failuredetectionandfailover)

当某一个节点出故障的时候,如何检测到并通知其它节点,或者把想用的服务转移到其它的可用节点

领导选举(leaderelection)

如何在众多的节点中选举一个领导者,来协调所有的节点

分布式的锁(distributedexclusivelock)

如何通过锁在分布式的服务中进行同步

消息和通知服务(messagequeueandnotification)

如何在分布式的服务中传递消息,以通知的形式对事件作出主动的响应

Consul

Consul是用Go开发的分布式服务协调管理的工具,它提供了服务发现,健康检查,Key/Value存储等功能,并且支持跨数据中心的功能。consul提供的一些关键特性:      

servicediscovery:consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易,一些外部服务,例如saas提供的也可以一样注册。          

healthchecking:健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成,可以防止服务转发到故障的服务上面。          

key/valuestorage:一个用来存储动态配置的系统。提供简单的HTTP接口,可以在任何地方操作。          

multi-datacenter:无需复杂的配置,即可支持任意数量的区域。          

Consul基于HTTP的API可以方便的和各种语言进行绑定,C#语言绑定







































白癜风咨询
北京哪里白癜风病看的好

转载请注明原文网址:http://www.helimiaopu.com/cxtx/3020.html

------分隔线----------------------------