360°SpringCloud实践-服务治理:11-032017Author:王勇2–服务治理解决方案3–Eureka服务治理4–总结1–服务治理的基本概念/41-服务治理的基本概念服务治理服务注册服务发现/51-服务治理的基本概念什么是服务注册?服务注册:在服务治理框架中,通常会构建一个注册中心。每个服务单元向注册中心登记自己提供的服务(将主机与端口号、版本号、通信协议等一些附加信息告知注册中心),注册中心按服务名分类组织服务清单。服务单元向注册中心注册服务之后,注册中心还要以心跳的方式监测清单中的服务是否可用,若不可用则需要从服务清单中剔除,以达到排除故障服务的效果。/61-服务治理的基本概念什么是服务发现?服务发现组件记录了(大规模)分布式系统中所有服务的信息,人们或者其它服务可以据此找到这些服务。DNS就是一个简单的例子。当然,复杂系统的服务发现组件要提供更多的功能,例如,服务元数据存储、健康监控、多种查询和实时更新等。不同的使用情境,服务发现的含义也不同。例如,网络设备发现、零配置网络发现和SOA发现等。无论是哪一种使用情境,服务发现提供了一种协调机制,方便服务的发布和查找。/72-服务治理解决方案服务治理方案选择DNS人们已经使用DNS很长时间了,DNS可能是现有的最大的服务发现系统。小规模系统可以先使用DNS作为服务发现手段。一旦服务节点的启动和销毁变得更加动态,DNS就有问题了,因为DNS记录传播的速度可能跟不上服务节点变化的速度。Zookeeper适合小规模的服务治理。ConsulConsul是一种更新的服务发现解决方案。除了服务发现,它还提供了配置管理和一种键值存储。Consul提供了服务节点的健康检查功能,支持使用DNSSRV查找服务,这大大增强了它与其它系统的互操作性。EurekaAP(AvailabilityandPartition)系统,Eureka是一个很好的选择,并在Netflix得到了实战的检验。在出现网络分区时,Eureka选择可用性,而不是一致性。/82-服务发现解决方案FeatureConsulzookeepereuerka服务健康检查服务状态,内存,硬盘等(弱)长连接,keepalive可配支持多数据中心支持——kv存储服务支持支持—一致性raftpaxos—capcpcpap使用接口(多语言能力)支持http和dns客户端http(sidecar)watch支持全量/支持longpolling支持支持longpolling/大部分增量自身监控metrics—metrics安全acl/httpsacl—springcloud集成已支持已支持已支持服务发现的产品特性的对比/93-Eureka服务治理Eureka服务治理基础架构(包含3个核心...