SpringCloud入门1-服务注册与发现(Eureka)

Oracle转让Java,各种动态语言的曝光率上升,Java工程师的未来在哪里?我觉得Spring Cloud让未来有无限可能。拖了半年之久的Spring Cloud学习就从今天开始了。中文教材不多,而且大多都是简单的离散的信息,想要找到企业级的一体化解决方案很少。不过,对于入门来说,简单就够了,等到用的时候自然而然的汇总起来。

目标是把springcloud的子项目过一遍。

Component Edgware.SR2 Finchley.M7 Finchley.BUILD-SNAPSHOT
spring-cloud-aws   1.2.2.RELEASE   2.0.0.M4   2.0.0.BUILD-SNAPSHOT    
spring-cloud-bus   1.3.2.RELEASE   2.0.0.M6   2.0.0.BUILD-SNAPSHOT    
spring-cloud-cli   1.4.1.RELEASE   2.0.0.M1   2.0.0.BUILD-SNAPSHOT    
spring-cloud-commons   1.3.2.RELEASE   2.0.0.M7   2.0.0.BUILD-SNAPSHOT    
spring-cloud-contract   1.2.3.RELEASE   2.0.0.M7   2.0.0.BUILD-SNAPSHOT    
spring-cloud-config   1.4.2.RELEASE   2.0.0.M7   2.0.0.BUILD-SNAPSHOT    
spring-cloud-netflix   1.4.3.RELEASE   2.0.0.M7   2.0.0.BUILD-SNAPSHOT    
spring-cloud-security   1.2.2.RELEASE   2.0.0.M2   2.0.0.BUILD-SNAPSHOT    
spring-cloud-cloudfoundry   1.1.1.RELEASE   2.0.0.M3   2.0.0.BUILD-SNAPSHOT    
spring-cloud-consul   1.3.2.RELEASE   2.0.0.M6   2.0.0.BUILD-SNAPSHOT    
spring-cloud-sleuth   1.3.2.RELEASE   2.0.0.M7   2.0.0.BUILD-SNAPSHOT    
spring-cloud-stream   Ditmars.SR3   Elmhurst.RC1   Elmhurst.BUILD-SNAPSHOT    
spring-cloud-zookeeper   1.2.0.RELEASE   2.0.0.M6   2.0.0.BUILD-SNAPSHOT    
spring-boot   1.5.10.RELEASE   2.0.0.RC2   2.0.0.BUILD-SNAPSHOT    
spring-cloud-task   1.2.2.RELEASE   2.0.0.M3   2.0.0.RELEASE    
spring-cloud-vault   1.1.0.RELEASE   2.0.0.M6   2.0.0.BUILD-SNAPSHOT    
spring-cloud-gateway   1.0.1.RELEASE   2.0.0.M7   2.0.0.BUILD-SNAPSHOT    
spring-cloud-openfeign     2.0.0.M1   2.0.0.BUILD-SNAPSHOT    

本次学习服务注册与发现, Eureka。

Eureka介绍

Eureka是一个基于REST(Representational State Transfer)的服务,主要用于AWS cloud, 提供服务定位(locating services)、负载均衡(load balancing)、故障转移(failover of middle-tier servers)。我们把它叫做Eureka Server. Eureka也提供了基于Java的客户端组件,Eureka Client,内置的负载均衡器可以实现基本的round-robin负载均衡能力。在Netflix,一个基于Eureka的更复杂的负载均衡器针对多种因素(如流量、资源利用率、错误状态等)提供加权负载均衡,以实现高可用(superior resiliency).

为什么需要Eureka

在AWS Cloud,由于其天生的特性,服务器经常变换。我们知道每个EC2挂掉后,重启又是一个新的。不像传统的固定IP,AWS的服务器是变化的。因此需要更复杂的负载均衡方案来动态注册和注销。由于AWS并没有提供中间层负载均衡解决方案,Eureka填补了这个领域的巨大空白。

Eureka和AWS ELB有什么不同

AWS ELB(Elastic Load Balancer)是面向最终用户Web流量的边缘服务的负载均衡解决方案。Eureka填补了对中间层负载均衡的需求。理论上,你可以把中间层服务放在AWS ELB之后,但在EC2模型中,你将会把他们直接暴露到外网,从而失去了AWS security groups的好处。(这里有疑问,我现实使用的时候ELB也有区分VPC的,所以不会暴露到外网,不知道是不是本文发布的时候AWS还没这功能,所以感觉Eureka和ELB区别不大啊)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywjzd.html